Android中的Selector主要是用来改变ListView和Button控件的默认背景。其使用方法可以按一下步骤来设计:


(以在mylist_view.xml为例)


1.创建mylist_view.xml文件

首先在res目录下新建drawable文件夹,再在新建的drawable文件夹中新建mylist_view.xml,其目录结构为:res/drawable/mylist_view.xml。


2.根据具体需求编辑mylist_view.xml文件

新建mylist_view.xml文件后,在没有添加任何属性时其内部代码结构为:

[html] view plain copy
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <selectorxmlns:android="http://schemas.android.com/apk/res/android">
  3. </selector>

下面就可以根据项目需求,在其内部定义为自己想要的样式了,主要属性如下:

[html] view plain copy
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <selectorxmlns:android="http://schemas.android.com/apk/res/android">
  3. <!--默认时的背景图片-->
  4. <itemandroid:drawable="@drawable/pic1"/>
  5. <!--没有焦点时的背景图片-->
  6. <itemandroid:state_window_focused="false"
  7. android:drawable="@drawable/pic1"/>
  8. <!--非触摸模式下获得焦点并单击时的背景图片-->
  9. <itemandroid:state_focused="true"android:state_pressed="true"android:drawable="@drawable/pic2"/>
  10. <!--触摸模式下单击时的背景图片-->
  11. <itemandroid:state_focused="false"android:state_pressed="true"android:drawable="@drawable/pic3"/>
  12. <!--选中时的图片背景-->
  13. <itemandroid:state_selected="true"android:drawable="@drawable/pic4"/>
  14. <!--获得焦点时的图片背景-->
  15. <itemandroid:state_focused="true"android:drawable="@drawable/pic5"/>
  16. </selector>

3.引用 mylist_view.xml文件


三种方法可以来引用刚才创建的文件:

(1)在ListView中添加如下属性代码

[html] view plain copy
  1. android:listSelector="@drawable/mylist_view"

(2)在 ListView的item界面中添加如下属性代码

[html] view plain copy
  1. android:background="@drawable/mylist_view"

(3)利用JAVA代码直接编写

[java] view plain copy
  1. Drawabledrawable=getResources().getDrawable(R.drawable.mylist_view);
  2. listView.setSelector(drawable);

为了防止列表拉黑的情况发生,需要在 ListView中添加以下的属性代码

[html] view plain copy
  1. android:cacheColorHint="@android:color/transparent"

属性介绍:

android:state_selected选中

android:state_focused获得焦点

android:state_pressed点击

android:state_enabled设置是否响应事件,指所有事件

更多相关文章

  1. Android源码编译
  2. Android异常汇集----4. Android(安卓)requires compiler complia
  3. 模仿墨迹天气设置界面布局
  4. git的使用(上传项目到github)
  5. 第四章 Android开发三大基石—Activity、Service和Handler(2)
  6. Android(安卓)应用程序退出的四种方法
  7. Android中getResources().getDrawable() 过时问题分析
  8. android 知识点总结 广播接收器生命周期【爱扒拉】
  9. WindowManager实现悬浮窗口

随机推荐

  1. Android获取App当前页面的Activity名称
  2. Android查看Apk签名
  3. Android音频录制、播放,这一篇就够了
  4. 属于自己的Android框架路线
  5. Android中InCallUI显示太慢问题分析
  6. API Demos 2.2 研读笔记(12)——Intents Ch
  7. Calabash 快速入门 (Android)
  8. android git 下载单个工程
  9. android 同步监听输入框,以及电话号码正则
  10. 自定义android的tab样式 《》