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

android自定义listview点击时的颜色

2013-06-14 22:57 204 查看
在android应用的开发中,经常会用到ListView这个控件,在这个控件中,点击会有颜色,默认的颜色是系统的颜色,但是不同的android系统可能颜色不同,比如原生的android4.2系统是蓝色,但是到了其他系统可能变成其他的颜色,在编程其他颜色后可能就会与设计者设计的界面颜色不搭配,所以我们经常需要自定义ListView控件点击时的颜色。

其实,想要改变ListView点击时的颜色并不难,其基本原理是,将ListView每个Item的背景颜色设置为你想要的背景颜色(注:不是ListView而是ListView中的Item),然后将ListView(这回是ListView)中的listSelector在xml文件中设置为透明的颜色,这时点击的颜色就透明,从而显示出Item的背景色来。

这是ListView中的Item的背景定义文件Item_bg.xml放在drawable文件夹中

+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:drawable="@android:color/white" android:state_pressed="false"/>     <!--设置没有点击时的颜色-->
+    <item android:drawable="@color/holo_blue_light" android:state_pressed="true"/>     <!--设置点击时的颜色-->

+
+</selector>


然后是ListView所在xml的配置了:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"
android:orientation="vertical" >

<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:cacheColorHint="@android:color/white"
android:listSelector="#00000000"/>                                <!--设置点击时的透明-->
</RelativeLayout>


方法很简单,但是很有用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐