您的位置:首页 > 移动开发 > Android开发

Android--修改ListView的点击效果

2015-08-14 13:57 591 查看
今天,发现自己写的ListView的点击效果不见了,查了一下资料,整理下ListView的点击效果的修改。

1. 取消ListView的点击效果。

方法一:

直接在xml文件的ListView中添加这句:

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


方法二:

在ListView的子布局的布局文件里添加背景色。

原理是遮挡自带的点击效果。

如:android:background=“#FFFFFF”

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


2 . 修改ListView的点击效果

先写出相应的selector

btn_selector.xml如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<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”

如:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="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" >
<TextView
...
/>
<TextView
...
/>
</LinearLayout>


当然也可以通过java文件根据逻辑控制对ListView进行效果的修改。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android xml listview