Android中的Selector主要是用来改变ListView和Button控件的默认背景。


属性介绍:

android:state_selected选中

android:state_focused获得焦点

android:state_pressed点击

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


1.在res目录下新建drawable文件夹,再在新建的drawable文件夹中新建myselector.xml


    <?xml version="1.0" encoding="utf-8" ?>         <selector xmlns:android="http://schemas.android.com/apk/res/android">       <!-- 默认时的背景图片-->          <item android:drawable="@drawable/pic1" />          <!-- 没有焦点时的背景图片 -->          <item android:state_window_focused="false"                 android:drawable="@drawable/pic1" />         <!-- 非触摸模式下获得焦点并单击时的背景图片 -->          <item android:state_focused="true" android:state_pressed="true"   android:drawable= "@drawable/pic2" />       <!-- 触摸模式下单击时的背景图片-->        <item android:state_focused="false" android:state_pressed="true"   android:drawable="@drawable/pic3" />        <!--选中时的图片背景-->          <item android:state_selected="true"   android:drawable="@drawable/pic4" />         <!--获得焦点时的图片背景-->          <item android:state_focused="true"   android:drawable="@drawable/pic5" />         </selector>  

2.在ListView中使用myselector.xml资源文件。

使用的地方分为以下几种:

在<ListView>标签中:android:listSelector="@drawable/myselector"

在ListView的item界面中:android:background="@drawable/myselector"

在代码中:Drawabledrawable=getResources().getDrawable(R.drawable.myselector);

listView.setSelector(drawable);

为了防止列表拉黑的情况发生,需要在ListView中添加以下的属性代码:android:cacheColorHint="@android:color/transparent"

3.在Button中使用myselector.xml资源文件。

在<Button>标签中:android:background="@drawable/myselector"

在代码中:button.setBackgroundResource(R.drawable.myselector);

更多相关文章

  1. Android(安卓)单选队列 RadioGroup与RadioButton详解
  2. EditText 失去焦点
  3. 安卓开发小效果--走马灯
  4. Android(安卓)Studio点击按钮更换背景图片
  5. 【Android】Android取消EditText自动获取焦点
  6. Android(安卓)与 Unity 交互一
  7. 当GridView中的一项被点中的时候显示的背景图片:android:listSele
  8. Android页面启动 editext获取焦点 scrollView自动上滑问题
  9. Android自定义ProgressBar

随机推荐

  1. 为什么说Python会成为最流行的编程语言?
  2. IPython6.0发布:放弃支持Python2.7
  3. Django2.0即将带来3个重要特性
  4. 多线程学习(三)那些队列可用于线程池
  5. 用翻译赚钱,翻译社规则调整
  6. Fedora写给Python的情书
  7. 值得关注的5个Python开源项目
  8. 2分钟理清计算机、Python和Pip的三角关系
  9. 用Python制作3D动画
  10. 如果你也用Win10,真的请备份!