Android--修改ListView的点击效果
16lz
2022-05-08
今天,发现自己写的ListView的点击效果不见了,查了一下资料,整理下ListView的点击效果的修改。
1. 取消ListView的点击效果。
方法一:
直接在xml文件的ListView中添加这句:
android:listSelector="@android:color/transparent"
方法二:
在ListView的子布局的布局文件里添加背景色。
原理是遮挡自带的点击效果。
如:android:background=“#FFFFFF”
<?xml version="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如下所示:
<?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"?>"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(安卓)实现文件上传功能(upload)
- Windows平台下如何使用Android(安卓)NDK
- Android中APK安装过程及原理解析
- Android从代码到apk的编译过程
- Android(安卓)中自定义 Menu 资源
- Android使用XML文件定义用户界面
- 【Based Android】让你的android应用使用可爱的iphone备忘录字体
- Android(安卓)驱动之旅: 第二章 -- 在Android(安卓)系统中增加C
- NPM 和webpack 的基础使用