中心思想:将选中状态设置为彻底透明色(即看不到自定义的选中状态)而后将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