最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android實現(xiàn)為ListView同時設(shè)置點擊時的背景和點擊松手之后的背景

 更新時間:2015年02月06日 14:55:01   作者:books1958  
這篇文章主要介紹了Android實現(xiàn)為ListView同時設(shè)置點擊時的背景和點擊松手之后的背景,以實例形式較為詳細(xì)的分析了界面元素與功能的實現(xiàn)技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了Android實現(xiàn)為ListView同時設(shè)置點擊時的背景和點擊松手之后的背景。分享給大家供大家參考。具體分析如下:

這里要達(dá)到的效果是,

(1)點擊ListView的item時會有指定的背景,

(2)松手之后,剛才點擊的item也會有指定的背景

實現(xiàn)(1)很簡單:在xml中為ListView設(shè)置listSelector即可。

復(fù)制代碼 代碼如下:
<ListView 
android:id="@+id/pop_listview_left" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:scrollbars="none" 
android:divider="@color/popup_left_bg" 
android:dividerHeight="1dp" 
android:listSelector="@color/popup_right_bg" 
android:scrollingCache="false" 
/>

實現(xiàn)(2)也很簡單,在adapter中動態(tài)改變背景:

復(fù)制代碼 代碼如下:
if (position == selectedPosition){ 
    convertView.setBackgroundResource(R.color.left_selected);
}else{ 
    convertView.setBackgroundResource(R.color.left_normal);
}

并且在該ListView的點擊事件中及時更新selectedPosition:
復(fù)制代碼 代碼如下:
leftLV.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override 
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
 //更新背景色 
 FirstClassAdapter adapter = (FirstClassAdapter) (parent.getAdapter()); 
 adapter.setSelectedPosition(position); 
 adapter.notifyDataSetChanged(); 
    } 
});

可是,問題出來了:設(shè)置了(2)之后,(1)的效果沒了!?。?br /> 這是因為,在設(shè)置

復(fù)制代碼 代碼如下:
convertView.setBackgroundResource(R.color.left_selected);
 
時,(1)中l(wèi)istSelector中指定的顏色會被覆蓋。

解決方法有兩種:

(一)

將convertView的一個純色的背景改為一個selector,并設(shè)置其在點擊時的顏色為透明(這樣下面listSelector的顏色就露出來了)。以下是selector_left_normal.xml和selector_left_selected.xml.

復(fù)制代碼 代碼如下:
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" 
        android:drawable="@android:color/transparent"/> 
 
    <item android:state_pressed="false" 
        android:drawable="@color/popup_left_bg"/> 
</selector> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" 
        android:drawable="@android:color/transparent"/> 
 
    <item android:state_pressed="false" 
        android:drawable="@color/popup_right_bg"/> 
</selector>

然后將(2)中的代碼改為:

復(fù)制代碼 代碼如下:
if (position == selectedPosition){ 
    convertView.setBackgroundResource(R.drawable.selector_left_selected); 
}else{ 
    convertView.setBackgroundResource(R.drawable.selector_left_normal); 
}

(二)

參照(一),將ListView的listSelector屬性去掉,并將其顏色復(fù)制到上面兩個selector中替換transparent那個顏色。

也就是說,每次點擊ListView的條目之后,設(shè)置背景色時,

(a)如果該條目現(xiàn)在是選中狀態(tài),則直接設(shè)為某一個顏色

(b)否則,將其顏色設(shè)置為一個selector,并在selector中分別指定點擊和沒有點擊時的顏色。

問題圓滿解決。

希望本文所述對大家的Android程序設(shè)計有所幫助。

相關(guān)文章

  • Android自定義View實現(xiàn)簡單文字描邊功能

    Android自定義View實現(xiàn)簡單文字描邊功能

    這篇文章主要為大家詳細(xì)介紹了Android自定義View實現(xiàn)簡單文字描邊功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Flutter學(xué)習(xí)之Navigator的高級用法分享

    Flutter學(xué)習(xí)之Navigator的高級用法分享

    這篇文章主要為大家詳細(xì)介紹了Flutter中之Navigator的高級用法的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的可以了解一下
    2023-02-02
  • Android開發(fā)中父組件調(diào)用子組件方法demo

    Android開發(fā)中父組件調(diào)用子組件方法demo

    這篇文章主要為大家介紹了Android開發(fā)中父組件調(diào)用子組件方法demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 詳解Android中接口回調(diào)、方法回調(diào)

    詳解Android中接口回調(diào)、方法回調(diào)

    在Android開發(fā)中我們很多地方都用到了方法的回調(diào),回調(diào)就是把方法的定義和功能導(dǎo)入實現(xiàn)分開的一種機制,目的是為了解耦他的本質(zhì)是基于觀察者設(shè)計模式,即觀察者設(shè)計模式的的簡化版。本文主要對Android中接口回調(diào)、方法回調(diào)進(jìn)行詳細(xì)介紹,下面跟著小編一起來看下吧
    2017-01-01
  • Android實現(xiàn)美團(tuán)、大眾點評的購買懸浮效果(ScrollView滾動監(jiān)聽)

    Android實現(xiàn)美團(tuán)、大眾點評的購買懸浮效果(ScrollView滾動監(jiān)聽)

    這篇文章主要為大家詳細(xì)介紹了Android對ScrollView滾動監(jiān)聽,實現(xiàn)美團(tuán)、大眾點評的購買懸浮效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Android編程實現(xiàn)擦除Bitmap中某一塊的方法

    Android編程實現(xiàn)擦除Bitmap中某一塊的方法

    這篇文章主要介紹了Android編程實現(xiàn)擦除Bitmap中某一塊的方法,涉及Android操作Bitmap顏色像素值調(diào)整的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • 詳解kotlin中::雙冒號的使用

    詳解kotlin中::雙冒號的使用

    在?Kotlin?中?,?::?雙冒號操作符?的作用是獲取類,對象,函數(shù),屬性的?類型對象引用,這篇文章主要介紹了詳解kotlin中::雙冒號的使用,需要的朋友可以參考下
    2023-04-04
  • Android中獲取設(shè)備的各種信息總結(jié)

    Android中獲取設(shè)備的各種信息總結(jié)

    相信各位Android的開發(fā)者們都知道,現(xiàn)在幾乎所有的app都需要獲得設(shè)備信息,那么下面這篇文章就來詳細(xì)說說獲取設(shè)備信息的方法。
    2016-09-09
  • Android清除工程中無用資源文件的兩種方法

    Android清除工程中無用資源文件的兩種方法

    這篇文章主要介紹了Android清除工程中無用資源文件的兩種方法,調(diào)用Android lint命令查找出無用資源,二是使用代碼自動刪除無用的文件,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Android實現(xiàn)從緩存中讀取圖片與異步加載功能類

    Android實現(xiàn)從緩存中讀取圖片與異步加載功能類

    這篇文章主要介紹了Android實現(xiàn)從緩存中讀取圖片與異步加載功能類,涉及Android針對緩存的操作及圖片異步加載相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2016-08-08

最新評論

莱西市| 大庆市| 通州市| 海原县| 革吉县| 文成县| 五家渠市| 盱眙县| 和林格尔县| 泰宁县| 托克逊县| 北票市| 滕州市| 铅山县| 德昌县| 金塔县| 会东县| 绥德县| 调兵山市| 巫山县| 鹿邑县| 宜城市| 宁乡县| 南岸区| 通道| 朝阳区| 绥中县| 开远市| 仁怀市| 铜梁县| 通州市| 策勒县| 双流县| 朔州市| 五家渠市| 阳春市| 虹口区| 桐乡市| 乐昌市| 大连市| 广德县|