<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:constantSize=["true" | "false"]
android:dither=["true" | "false"]
android:variablePadding=["true" | "false"] >
<item
android:drawable="@[package:]drawable/drawable_resource"
android:state_pressed=["true" | "false"]
android:state_focused=["true" | "false"]
android:state_hovered=["true" | "false"]
android:state_selected=["true" | "false"]
android:state_checkable=["true" | "false"]
android:state_checked=["true" | "false"]
android:state_enabled=["true" | "false"]
android:state_activated=["true" | "false"]
android:state_window_focused=["true" | "false"] />
</selector>

必备。这必须是根元素。包含一个或多个 元素。
属性:

xmlns:android

字符串。必备。定义 XML 命名空间,其必须是 “http://schemas.android.com/apk/res/android”。

android:constantSize

布尔值。如果可绘制对象报告的内部大小在状态变更时保持不变,则值为“true”(大小是所有状态的最大值);如果大小根据当前状态而变化,则值为“false”。默认值为 false。

android:dither

布尔值。值为“true”时,将在位图的像素配置与屏幕不同时(例如:ARGB 8888 位图和 RGB 565 屏幕)启用位图的抖动;值为“false”时则停用抖动。默认值为 true。

android:variablePadding

布尔值。如果可绘制对象的内边距应根据选择的当前状态而变化,则值为“true”;如果内边距应保持不变(基于所有状态的最大内边距),则值为“false”。启用此功能要求您在状态变更时处理执行布局,这通常不受支持。默认值为 false。



定义要在某些状态期间使用的可绘制对象,如其属性所述。必须是 元素的子项。

属性:

android:drawable

可绘制对象资源。必备。引用可绘制对象资源。

android:state_pressed

布尔值。如果在按下对象(例如触摸/点按某按钮)时应使用此项目,则值为“true”;如果在默认的未按下状态时应使用此项目,则值为“false”。

android:state_focused

布尔值。如果在对象具有输入焦点(例如当用户选择文本输入时)时应使用此项目,则值为“true”;如果在默认的非焦点状态时应使用此项目,则值为“false”。

android:state_hovered

布尔值。如果当光标悬停在对象上时应使用此项目,则值为“true”;如果在默认的非悬停状态时应使用此项目,则值为“false”。通常,这个可绘制对象可能与用于“聚焦”状态的可绘制对象相同。

此项为 API 级别 14 新引入的配置。

android:state_selected

布尔值。如果在使用定向控件浏览(例如使用方向键浏览列表)的情况下对象为当前用户选择时应使用此项目,则值为“true”;如果在未选择对象时应使用此项目,则值为“false”。

当焦点 (android:state_focused) 不充分(例如,列表视图有焦点但使用方向键选择其中的项目)时,使用所选状态。

android:state_checkable

布尔值。如果当对象可选中时应使用此项目,则值为“true”;如果当对象不可选中时应使用此项目,则值为“false”。(仅当对象可在可选中与不可选中小部件之间转换时才有用。)

android:state_checked

布尔值。如果在对象已选中时应使用此项目,则值为“true”;如果在对象未选中时应使用此项目,则值为“false”。

android:state_enabled

布尔值。如果在对象启用(能够接收触摸/点击事件)时应使用此项目,则值为“true”;如果在对象停用时应使用此项目,则值为“false”。

android:state_activated

布尔值。如果在对象激活作为持续选择(例如,在持续导航视图中“突出显示”之前选中的列表项)时应使用此项目,则值为“true”;如果在对象未激活时应使用此项目,则值为“false”。

此项为 API 级别 11 新引入的配置。

android:state_window_focused

布尔值。如果当应用窗口有焦点(应用在前台)时应使用此项目,则值为“true”;如果当应用窗口没有焦点(例如,通知栏下拉或对话框出现)时应使用此项目,则值为“false”。

注:请记住,Android 将应用状态列表中第一个与对象当前状态匹配的项目。因此,如果列表中的第一个项目不含上述任何状态属性,则每次都会应用它,这就是默认值应始终放在最后的原因(如以下示例所示)。

原文档:

Android中StateListDrawable的种类(状态的种类)的更多相关文章

  1. 我的Android进阶之旅------>Android中StateListDrawable支持的状态

    Android中StateListDrawable支持的状态 android:state_active 代表是否处于激活状态 android:state_checked  代表是否处于已勾选状态 an ...

  2. android中 检查网络连接状态的变化,无网络时跳转到设置界面

    1:在AndroidManifest.xml中加一个声明 <receiver android:name="NetCheckReceiver">    <inten ...

  3. android中判断sim卡状态和读取联系人资料的方法

    在写程序中,有时候可能需要获取sim卡中的一些联系人资料.在获取sim卡联系人前,我们一般会先判断sim卡状态,找到sim卡后再获取它的资料,如下代码我们可以读取sim卡中的联系人的一些信息. Pho ...

  4. 十九、android中判断sim卡状态和读取联系人资料的方法

    在写程序中,有时候可能需要获取sim卡中的一些联系人资料.在获取sim卡联系人前,我们一般会先判断sim卡状态,找到sim卡后再获取它的资料,如下代码我们可以读取sim卡中的联系人的一些信息. Pho ...

  5. [转] Android中的设计模式-备忘录模式

    转自Android中的设计模式-备忘录模式 定义 备忘录设计模式的定义就是把对象的状态记录和管理委托给外界处理,用以维持自己的封闭性. 比较官方的定义 备忘录模式(Memento Pattern)又叫 ...

  6. Android中如何为自定义控件增加状态?

    在android开发中我们常常需要对控件进行相关操作,虽然网上已有很多对控件酷炫的操作,但小编今天给大家分享的纯属实用出发.在查看了一些列安卓教程和文档后,发现了一位大牛分享的非常不错的有关andro ...

  7. android 自定义adapter和线程结合 + ListView中按钮滑动后状态丢失解决办法

    adapter+线程 1.很多时候自定义adapter的数据都是来源于服务器的,所以在获取服务器的时候就需要异步获取,这里就需要开线程了(线程池)去获取服务器的数据了.但这样有的时候adapter的中 ...

  8. android中正确保存view的状态

    英文原文: http://trickyandroid.com/saving-android-view-state-correctly/ 转载此译文须注明出处. 今天我们聊一聊安卓中保存和恢复view状 ...

  9. Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上)

    原文:[置顶] Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上) 我们在用手机的时候可能会发现,即使应用被放到后台再返回到前台数据依然保留(比如说我们正在玩游戏,突然电话 ...

随机推荐

  1. xml(3)

    xml的解析方式:dom解析和sax解析 DOM解析 使用jaxp进行增删改查 1.创建DocumentBuilderFactory工厂 2.通过DocumentBuilderFactory工厂创建D ...

  2. [codeforces-543B]bfs求最短路

    题意:给一个边长为1的无向图,求删去最多的边使得从a到b距离<=f,从c到d距离<=g,a,b,c,d,f,g都是给定的,求最多删去的边数. 思路:反过来思考,用最少的边构造两条从a到b, ...

  3. python --设置Python3 设置为机器默认

    echo alias python=python3 >> ~/.bashrc source ~/.bashrc 反之,如果仍然需要Python2.7 ,则改成2.7就行. update : ...

  4. php_rce

    0x01 PHP_RCE RCE(remote command/code execute):远程命令/代码执行 此题为ThinkPHP V5远程代码执行漏洞 0x02 命令执行 http://124. ...

  5. zsteg

    以前知道zsteg,但是没有去安装使用,所以就一直没有使用. 最近在找有关lsb隐写的题,发现有些大佬的wp上面写用zsteg就解决了lsb隐写的题,自己就想,难道zsteg很方便,于是就去安装zst ...

  6. JMeter基于HTML测试报告的生成

    1第一步: 下载ant,搭建ant环境(path的环境变量) 在path中添加ANT_HOME\bin 验证是否搭建成功Lcmd中输入ant 提示这个说明搭建成功. 第二步: 1.jmerer的目录C ...

  7. zabbix server优化与迁移

    zabbix server优化与迁移 1. 概述 zabbix 系统其实分3个大部分,一个是server本身,另一个是php的httpd服务,第三个是非常需要优化的数据库.公司的zabbix监控主机在 ...

  8. 关于RAID小结

    独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks ...

  9. IDEA插件记录

    IDEA个性化设置 1. 开发工具 Free MyBatis plugin 作用:可以快速的在mybatis 的mapper 文件和xml文件中快速切换 Lombok 作用:为POJO类添加@Data ...

  10. Django之内置分页器(paginator)

    django分页: from django.shortcutsimportrender from django.core.paginator import Paginator,EmptyPage, P ...