安卓selector用法详解

作者: 手指乐 | 来源:发表于2019-08-26 16:39 被阅读14次
  • 写selector的xml时,item的顺序有个严格的要求,条件限定越细致,则应该放到前面。因为如果有多个item,那么程序将自动从上到下进行匹配,最先匹配的将得到应用。
    如果一个item没有任何的状态说明,那么它将可以被任何一个状态匹配。
    比如:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:drawable="@drawable/sharp_rectangle"
        android:state_focused="false"
        android:state_pressed="true" />
    <item android:drawable="@mipmap/ic_launcher" />
</selector>

如果把第二个item放到第一个,则第二个将不起作用,因为<item android:drawable="@mipmap/ic_launcher" />没有标明任何状态,所以将被任何状态先匹配到,这样就永远不会有按下去的效果了

  • 如果要设置不同状态下文字的颜色,要在res/color下面来写selector,里面设置item的color属性,drawable下面的selector里没有color属性,也不能把drawable设置成颜色值,不能把控件的背景设置成color下的颜色选择器(但是可以设置成一种单一的颜色值),如果要在drawable的selector里使用纯色的背景,要么用纯色图片,要么用sharp(利用sharp的填充色)
    先上Selector文件,名字为singer_fragment_top_text_style.xml,
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/colorPrimaryDark" android:state_selected="true" />
    <item android:color="@color/colorAccent" android:state_selected="false" />
</selector>

使用selector:

android:textColor="@color/singer_fragment_top_text_style"
  • 按钮中用selector时,只能呈现出按着和非按着2种状态(pressed),不能在按下后抬起手还保持按下的状态,而radiobutton可以设置checked状态,让其在按下后(选择了这个radiobutton)放开手还保持按下的选择器状态。

相关文章

  • 安卓selector用法详解

    写selector的xml时,item的顺序有个严格的要求,条件限定越细致,则应该放到前面。因为如果有多个item...

  • 安卓 MotionEvent 详解

    第108期:安卓 MotionEvent 详解 Android开发 安卓 MotionEvent 详解 Andro...

  • Android Gson使用详解

    Android Gson使用详解(出处: 安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户)

  • 2019-01-07

    getsupportFragmentManager和getFragmentManager详解 安卓开发之详解get...

  • 安卓MVP模式用法详解

    mvp模式 1.view层负责显示数据,提供友好的界面与用户交互。 (1)定义LoginView接口,设置界面的行...

  • 50 【视频讲解】日历工具练习(安卓版)

    本节:安卓手机上的日历工具用法。 安卓手机比较麻烦,因为安卓手机在中国谷歌账号不能访问,所以若想跟别人来共享安卓手...

  • Selector

    Selector中的各种状态详解 Android进阶之路 - selector状态选择器 selector原理简述...

  • runtime的一些小妙用

    用法一: Unrecognized Selector类型crash防护(Unrecognized Selector...

  • Activity

    文章参考 Android Activity 完全解析,Android【安卓】Activity详解。仅方便个人记忆。...

  • 50【视频讲解】日历工具练习(安卓版)

    1.8万次阅读 叶武滨 本期原文 接下来再来讲讲安卓手机上的用法。安卓手机比较麻烦,因为安卓手机在中国谷歌账号不能...

网友评论

    本文标题:安卓selector用法详解

    本文链接:https://www.haomeiwen.com/subject/bildectx.html