中心思想:將選中狀態設置爲徹底透明色(即看不到自定義的選中狀態)而後將listview 的每一項的背景設置爲選中則切換背景 android
1,選擇2個圖片一個爲通常的顯示狀態,另外一張爲選中狀態的圖片 spa
在drawable中新建selector.xml code
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" android:drawable="@drawable/main_listview_item_b g_press"></item> <-- 選中狀態 !--> <item android:drawable="@drawable/main_listview_item_bg"></item> </selector> <-- 通常狀況下 顯示!-->
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="400dp" android:layout_height="50dp" android:layout_gravity="center" android:layout_marginBottom="20dp" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:layout_marginTop="20dp" android:background="@drawable/item_main_listview" //設置背景圖片 android:orientation="horizontal" > </RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.fenghuait.yzzls_android.MainActivity" tools:ignore="MergeRootFrame" > <ListView android:id="@+id/activity_main_listview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:listSelector="@android:color/transparent" //關鍵設置 android:paddingLeft="20dp" android:paddingRight="20dp" /> </RelativeLayout>
以上就未完成了自定義listview選中狀態,有更好的辦法能夠私信我。。。。。 xml