Android关于selector.xml用法的一点小结
来源:互联网 发布:淘宝店铺如何做推广 编辑:程序博客网 时间:2024/06/14 12:08
在使用ListView过程中希望改变选中item时的背景颜色,写了相关的selector.xml文件,但就是没有效果。找了一下原因,在一个国外的论坛上找到原因,原来是必须在item的布局文件中的顶层Layout中设置android:background="@drawable/selector.xml"。
顺便了解了一下selector里面各个字段的意义:
state_enabled 是否有效
state_focused 是否聚焦
state_pressed 是否被按下
呃。。。还有selector.xml中的drawable可以用sharp方法实现,这样各种颜色渐变效果随你搭配。具体就看下代码啦~~
drawable/listview_bg_normal.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/btn_comment_shape"> <gradient android:startColor="@color/white" android:endColor="@color/white" android:angle="270" /> <corners android:topRightRadius="0dp" android:bottomLeftRadius="0dp" android:topLeftRadius="0dp" android:bottomRightRadius="0dp" /> <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" /> </shape>
drawable/listview_bg_pressed.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/btn_comment_shape"> <gradient android:startColor="@color/darkorange" android:endColor="@color/darkorange" android:angle="270" /> <corners android:topRightRadius="0dp" android:bottomLeftRadius="0dp" android:topLeftRadius="0dp" android:bottomRightRadius="0dp" /> <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" /> </shape>
drawable/listview_bg_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="@drawable/list_highlight_active" /> <item android:state_focused="true" android:drawable="@drawable/list_highlight_active" /> <item android:state_selected="true" android:drawable="@drawable/list_highlight_active" /> <item android:drawable="@drawable/listview_bg_normal" /></selector>
最后在对应的listview_item.xml文件的顶层Layout将上面的selector设置为背景即可。
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/listview_bg_selector"> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextViewandroid:id="@+id/myfriends_childlist_txt_name"android:layout_height="wrap_content"android:layout_width="wrap_content"android:layout_alignParentLeft="true"android:layout_marginLeft="50dip" android:layout_alignParentTop="true"android:layout_marginTop="5dip"android:textSize="26sp"android:textColor="@color/black"/><TextViewandroid:id="@+id/myfriends_childlist_img_sign"android:layout_height="wrap_content"android:layout_width="wrap_content"android:layout_alignParentRight="true"android:layout_alignBottom="@id/myfriends_childlist_txt_name"android:textSize="20sp"android:text="@string/talking"android:textColorHighlight="@color/blue"/> </RelativeLayout></LinearLayout>
- Android关于selector.xml用法的一点小结
- 关于Android中selector的一点注意事项
- android selector的用法
- Android的selector用法
- android:selector的用法
- android的selector用法
- android selector的用法
- android背景选择器selector用法小结
- 关于android的selector
- 关于selector的一些用法
- 关于Hopper的一点小结
- 关于WCF的一点小结
- 关于设计的一点小结
- 关于设计的一点小结
- 关于随机数的一点小结
- Android中的Selector的用法
- Android中selector的用法
- Android中的Selector的用法
- UTF8编码转Unicode编码(C语言)
- JS正则-验证时间格式
- SQL游标简单了解——虚拟DID计费程序实例问题
- 子线程更新UI会发生android.view.ViewRoot$CalledFromWrongThreadException异常的解决方法
- ASP.NET里的Session详细解释
- Android关于selector.xml用法的一点小结
- 链接当按钮使用问题
- isa
- mysql 创建用户并赋予所有权限使得远程可以访问
- hdfs-note
- spring注入Set,List,Properties和Map
- oracle sql日期比较
- mysql导出成excel表格的php代码
- android_ui对其方式