Android - Selector通过资源文件配置UI属性大全

原创 2017年09月13日 20:23:15

Android - Selector通过资源文件配置UI属性大全



本篇主要写如何通过资源文件,来配置不同的操作情形下,UI的表现:

1、CheckBox的资源配置

先列出两种不可行的案例:
(1)以下第一种方案,会造成的结果,是未选中的时候,CheckBox会消失

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- 选中-聚焦 -->
    <item android:drawable="@drawable/checked_select" android:state_checked="true" android:state_enabled="true" android:state_focused="true"></item>
    <!-- 未选中-聚焦 -->
    <item android:drawable="@drawable/unchecked_select" android:state_checked="false" android:state_enabled="true" android:state_focused="true"></item>

    <!-- 已经选中-未聚焦 -->
    <item android:drawable="@drawable/test" android:state_checked="true" android:state_enabled="true" android:state_window_focused="false"></item>
    <!-- 未被选中 -未聚焦 -->
    <item android:drawable="@drawable/test" android:state_checked="false" android:state_enabled="true" android:state_window_focused="false"></item>

</selector>



(2)以下这种方式,焦点在CheckBox上切换的时候,样式不会改变:

<?xml version="1.0" encoding="utf-8"?>  
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
    <item android:state_selected="false" android:state_checked="false" android:drawable="@drawable/unchecked"/>  
    <item android:state_selected="false" android:state_checked="true" android:drawable="@drawable/checked"/>

    <item android:state_selected="true" android:state_checked="false" android:drawable="@drawable/unchecked_select"/>  
    <item android:state_selected="true" android:state_checked="true" android:drawable="@drawable/checked_select"/>  
</selector>  


(3)经过很久探索,最后发现能够在焦点选中,checked、以及不选时候几种样式之前UI切换的正确配置为

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- 这里的样式是有优先级的 第一个item的优先级最高 依次往下推 -->
    <!-- 选中且有焦点 -->
    <item android:drawable="@drawable/checked_select" android:state_checked="true" android:state_focused="true"/>
    <!-- 没有选中但是有焦点 -->
    <item android:drawable="@drawable/checked" android:state_checked="false" android:state_focused="true"/>
    <!-- 选中但没有焦点 -->
    <item android:drawable="@drawable/unchecked" android:state_checked="true" android:state_focused="false"/>
    <!-- 其他 -->
    <item android:drawable="@drawable/unchecked_select"/>

</selector>

2、

版权声明:目前博客大部分内容,均为从其他地方搬运来的,文中有注释,若需转载,也请注明 举报

相关文章推荐

android XML File配置资源文件使用详解、属性功能详解之Drawable

1.animation-list 帖动画

Android点击控件改变颜色的两种方法——onTouchLisener()和xml资源文件selector的使用

onTouchLisener()和xml资源文件selector的使用 设计资源文件实现如下图所示的布局外观。点击选项的时候,背景颜色改为蓝色。 第一种方法:给控件...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

(六)android recovery 升级UI显示之资源文件

Recovery只有在升级的时候才会呈现给用户,所以界面一般都很简单,没有android上层那么绚丽,所以recovery下面对图片的支持很有限,仅支持png图片显示,所以我们可以看到,recover...

Android如何给不同配置机器引入对应的资源文件

我们都知道开发Android App的时候会把像字符串、图片、布局框架等资源携程xml放在res目录中然后在程序中去引用。 但是如果我们只提供一套资源文件,有时候碰到硬件配置不大相同的设备(比如屏幕的...

Android开发--身高体重指数(BIM)计算--访问标识符号(android:id属性/XML说明文件与R.java资源文件/将字符串抽离XML/新增XML文件)

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:访问...

用xml资源文件自定义属性

在android中,我们经常会在java代码中,或者在xml界面布局代码中使用我们的自定义控件。开发者可以通过自定义自己的控件时继承Android系统提供的view组件,就可以像在使用Android系...

Android用户界面 UI组件--TextView及其子类(二) Button,selector选择器,sharp属性

1.XML文件中的OnClick 属性可以指定在Activity中处理点击事件的方法,Activity中必须定义该属性指定的值作为方法的名字且有一个View类型的参数,表示此物件被点击。 2.使用...

文件属性及资源文件的使用

一、C#文件属性1、什么是文件属性文件属性可以用来指示项目系统对应文件执行的操作。具体的操作见下文。Visual Basic和Visual C#的文件都具有4个属性:“FileName”、“Build...
  • NoMasp
  • NoMasp
  • 2015-02-07 13:22
  • 6186
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)