欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

這里要達到的效果是,

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

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

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

復制代碼 代碼如下:
<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)改變背景:

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

并且在該ListView的點擊事件中及時更新selectedPosition:
復制代碼 代碼如下:
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(); 
    } 
});

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

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

解決方法有兩種:

(一)

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

復制代碼 代碼如下:
<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)中的代碼改為:

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

(二)

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

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

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

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

問題圓滿解決。

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

相關(guān)文章

  • Android View如何繪制

    Android View如何繪制

    要了解View如何繪制,就需要了解canvas(畫布)是什么?paint(畫筆)能夠做什么,想要深入了解的朋友可以參考一下
    2016-05-05
  • Android webview手動校驗https證書(by 星空武哥)

    Android webview手動校驗https證書(by 星空武哥)

    有些時候由于Android系統(tǒng)的bug或者其他的原因,導致我們的webview不能驗證通過我們的https證書,最明顯的例子就是華為手機mate7升級到Android7.0后,手機有些網(wǎng)站打不開了,而更新了webview的補丁后就沒問題了
    2017-09-09
  • Android使用Handler和Message更新UI

    Android使用Handler和Message更新UI

    這篇文章主要介紹了Android使用Handler和Message更新UI的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-07-07
  • Android 對話框 Dialog使用實例講解

    Android 對話框 Dialog使用實例講解

    對話框是在當前的頁面之上彈出的小窗口, 用于顯示一些重要的提示信息, 提示用戶的輸入,確認信息,或顯示某種狀態(tài).如 : 顯示進度條對話框, 退出提示.接下來通過本文給大家介紹android dialog對話框知識,感興趣的朋友一起看看吧
    2016-09-09
  • android實現(xiàn)常駐通知欄遇到的問題及解決辦法

    android實現(xiàn)常駐通知欄遇到的問題及解決辦法

    這篇文章主要介紹了android實現(xiàn)常駐通知欄遇到的問題及解決辦法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 基于DownloadManager的簡單下載器編寫小結(jié)

    基于DownloadManager的簡單下載器編寫小結(jié)

    Android自帶的DownloadManager是一個很好的下載文件的工具。該類在API level 9之后出現(xiàn),它已經(jīng)幫我們處理了下載失敗、重新下載等功能,整個下載過程全部交給系統(tǒng)負責,不需要我們過多的處理,非常的nice。關(guān)鍵的是用起來也很簡單,稍微封裝一下就可以幾句話搞定下載
    2017-12-12
  • Android TextView中文本點擊文字跳轉(zhuǎn) (代碼簡單)

    Android TextView中文本點擊文字跳轉(zhuǎn) (代碼簡單)

    用過微博Android手機端的朋友的都知道微博正文有時有一些高亮顯示的文本,如話題、提到的人等等,當點擊這些文本時會跳到另外一個頁面(即另一個activity),下面就要來模仿微博的這個功能
    2016-01-01
  • android中強制更新app實例代碼

    android中強制更新app實例代碼

    本篇文章主要介紹了android中強制更新app實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Android編程實現(xiàn)異步消息處理機制的幾種方法總結(jié)

    Android編程實現(xiàn)異步消息處理機制的幾種方法總結(jié)

    這篇文章主要介紹了Android編程實現(xiàn)異步消息處理機制的幾種方法,結(jié)合實例形式詳細總結(jié)分析了Android異步消息處理機制的原理、相關(guān)實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下
    2018-08-08
  • Android studio設置文件頭定制代碼注釋的方法

    Android studio設置文件頭定制代碼注釋的方法

    這篇文章主要介紹了Android studio設置文件頭定制代碼注釋的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08

最新評論