zoukankan      html  css  js  c++  java
  • selector-item属性

    今天做的项目,发现通过键盘选中一个button以后,并没有出现button样式的变化,后来发现是selector里面缺少状态配置的原因。这里就顺便把用到的属性记录了下来,方便以后使用。当然它的属性很多,慢慢的累积吧

    直接看代码

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    
        <!-- 按下状态  -->
        <item android:drawable="@drawable/select_1" android:state_pressed="true"/>
        <!-- 获得焦点,比如物理按键选中 或者是代码中 requestFocus() -->
        <item android:drawable="@drawable/select_3" android:state_focused="true"/>
        <item android:drawable="@drawable/select_2"/>
    
    </selector>

    注意selector 中,item的状态非常的多,它们中肯定有很多状态是有交集的,这时候item的顺序就决定了状态的选择。如果我们把上面的item 2 跟3 位置调换,你就会发现,focused 状态就不起作用了。因为代码认为,你只要不是pressed 状态,那么他就往下一个item判断,如果第二个可以,那么就不会在往下执行了。类似于代码中的switch

    这个selector不仅仅可以作为一个按钮的点击状态,其实,凡是颜色的地方,它都是可以用的。例如,如果你想让一个textview的字体颜色随着textview的状态变化而发生相应的改变,你只需要把这个selector作为textColor的值就行了。这里需要主要的是

    1.里面的android:drawable 变为android:color

    2.如果引用的话,selector必须是一个@drawable引用,代码中也必须是R.drawable.

  • 相关阅读:
    NSDate仅获取日期年月日的实现--即只要年月日,不要多余的小时分钟秒数
    iOS入门学习书籍路线(英文书籍)
    iOS开发必看的博客汇总
    Java直接插入算法
    MyEclipse汉化后问题
    Java 两个变量交换值
    Objective-C 笔记 字符串操作
    Objective-C 笔记二 类、对象和方法
    Objective-C 笔记一(HelloWorld)
    我们究竟需要什么!!?
  • 原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_selector_15824150.html
Copyright © 2011-2022 走看看