一、ListView的item背景(自定义颜色)
通常情况下,ListView的item背景用的是图片资源,下面跟大家分享一下使用颜色资源,即自定义一种颜色,当item聚焦、按压、选择的时候,可以显示我们自定义的颜色,好了废话不多说,直接分享代码:
1.首先在drawable目录下面新建一个list_item_color.xml,自定义我们需要的颜色
- <?xml version="1.0" encoding="utf-8"?>
- <shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="rectangle" >
- <solid android:color="#87CEFF" /> <!-- 自定义为蓝色 -->
- </shape>
2.继续在drawable目录下新建一个list_item_bg.xml,在这里使用我们自定义的颜色,
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:drawable="@drawable/list_item_selcet_color" android:state_pressed="true"/> <!-- 按压时变成我们自定义的颜色 -->
- <item android:drawable="@drawable/list_item_selcet_color" android:state_selected="true"/> <!-- 选择时变成我们自定义的颜色 -->
- </selector>
3.在layout目录下item布局文件中使用我们的背景,我这里是home_listview_item.xml:
- <?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:background="@drawable/list_item_select_bg" 将我们自定义的设置为背景即可,
- android:orientation="vertical"
- android:padding="5dp" >
- <!-- 此处省略n行-->
- </LinearLayout>
好了,大功告成,回去上传效果图,我知道童鞋们都喜欢看图,有图有真相嘛。
二、按压item时改变字体颜色
我们应该都见过类似的效果,就是当我们按下ListView的item时,在发现item背景颜色改变的同时,字体也会变色,其实实现起来也是很简单的。
1.在color目录下新建一个list_view_item_black_color.xml文件,
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_focused="true" android:color="#000000"/> <!-- 聚焦时为黑色 -->
- <item android:state_pressed="true" android:color="#ffffff"/> <!-- 按下时为白色 -->
- <item android:state_selected="true" android:color="#000000"/> <!-- 选择时为黑色 -->
- <item android:color="#000000"/> <!-- 普通状态下为黑色 -->
- </selector>
2.在layout资源目录下使用:
- <!-- 此处上下省略n行 -->
- <TextView
- android:id="@+id/home_item_content"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:padding="2dp"
- android:text="今天心情很好"
- android:textColor="@color/list_view_item_black_color"
- android:textSize="18sp" />
好了,很简单,当做自己留下的笔记,备忘。