Android--修改ListView的点击效果

今天,发现自己写的ListView的点击效果不见了,查了一下资料,整理下ListView的点击效果的修改。

1. 取消ListView的点击效果。
方法一:
直接在xml文件的ListView中添加这句:

android:listSelector="@android:color/transparent" 

方法二:
在ListView的子布局的布局文件里添加背景色。
原理是遮挡自带的点击效果。
如:android:background=“#FFFFFF”

"1.0" encoding="utf-8"?>
"http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"   
    android:background="#FFFFFF" >
    ...
    />
    ...
    />

2 . 修改ListView的点击效果
先写出相应的selector
btn_selector.xml如下所示:



<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true"
android:drawable="@color/btn_select_color"
/>
 
<item android:state_pressed="false"
android:drawable="@color/btn_color"
/>
selector>

方法一:
在ListVew里面直接加上属性 android:listSelector=”@drawable/btn_selector”

注意,但是有时候这样是无效的,因为点击效果有时候会被ListView上面的子布局所覆盖。
所以需要加上android:drawSelectorOnTop=”true”。
但是这样后,点击ListView时,子布局的的控件会被覆盖掉,比如TextView的文字就会被覆盖,按住ListView的话,文字就看不见。

方法二:
在子布局文件里利用android:background=”@drawable/btn_selector”
如:

"1.0" encoding="utf-8"?>
"http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"      
    android:background="@drawable/btn_selector" >
    ...
    />
    ...
    />

当然也可以通过java文件根据逻辑控制对ListView进行效果的修改。

你可能感兴趣的:(Android,XML,UI)