首页 > 其他分享 >Android Drawable Selector 不生效?

Android Drawable Selector 不生效?

时间:2022-11-30 13:46:04浏览次数:43  
标签:Drawable 默认 Selector 时候 Android selector 选择器

例:


<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/movie_like_btn_bg" />
    <item android:state_pressed="true" android:drawable="@drawable/movie_like_btn_bg_activated"/>
    <item android:state_focused="true" android:drawable="@drawable/movie_like_btn_bg_activated"/>

</selector>

相信很多人第一眼看过去是没问题的对不,但是运行调试的时候会发现所谓的聚焦事件和按压事件并没有产生修改drawable的数据,这是为什么呢?

其实是因为在selector选择器中的执行是从上到下执行的,上面的代码执行的时候,因为你把默认状态的时候配置设置成默认,当聚焦的时候或者按压的时候,首先会执行第一句代码,此时代码就会理解为,原来你是不管什么状态都是首先采用这个默认配置,就不会继续往下执行判断其他状态的触发事件,所以说最后一定要记住在Android开发中的drawable中的selector选择器的时候一定要把默认配置放到最下面! ! !~

标签:Drawable,默认,Selector,时候,Android,selector,选择器
From: https://www.cnblogs.com/anhiao/p/16938135.html

相关文章

  • AndroidDevTools简介
      ​​http://www.androiddevtools.cn/​​AndroidDevTools简介AndroidDevTools官网地址:​​www.androiddevtools.cn​​收集整理Android开发所需的AndroidSDK、开发中......
  • Android Studio 简单介绍和使用问题小结
    AndroidStudio简单介绍和使用问题小结  Google在2013的I/O开发者大会上引入的该开发工具。现在已经更新到了0.5.8版本。现在github的很多项目都使用了AndroidStudio开......
  • JavaScript调用App原生代码(iOS、Android)通用解决方案
     实际场景场景:现在有一个H5活动页面,上面有一个登陆按钮,要求点击登陆按钮以后,唤出App内部的登录界面,当登录成功以后将用户的手机号返回给H5页面,显示出来。这个场景应......
  • Android AIDL相关
    AndroidAIDL相关AIDL是Android接口定义语言(AndroidInterfacedefinitionlanguage)它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信(IPC)接......
  • Unity用户手册-Unity与Android、iOS互相调用
        C#是以Assembly(汇编集)为一个基本单位组织代码的,dll就是一个assemble,dll之间有加载依赖顺序。dll是windows平台上的动态库,而so是linux平台上的动态库,最后.a是IOS......
  • Android 运行时权限终极总结
    目录​​一:基础&起因​​​​二:基本使用​​​​2.1 Activity当中的一般用法​​​​2.2Fragement中的用法​​​​三:注意事项和打电话例子​​​​3.1注意事项​​​​3......
  • Android约束布局:ConstraintLayout学习文章记录
    (一)Android新特性介绍,ConstraintLayout完全解析(二)ConstraintLayout完全解析快来优化你的布局吧参考官方文档:​​https://developer.android.com/reference/android/suppor......
  • android-当android studio更新时遇到Connetion failed
    获取到你的当前版本号:获取方法:Help->About,获取后如下图所示:然后获取最新的版本编号:打开网页https://dl.google.com/android/studio/patches/updates.xml在......
  • android的sqlite获取当天数据的sql语句
    SELECTcount(*)FROM表名WHEREstrftime('%m-%d','now','localtime')=strftime('%m-%d',表中时间字段)1以上查询语句只需修改where字符串增以增加更多限制条件。“......
  • Android - DataBinding源码解读(内存消耗和双向绑定原理分析)
    目录​​一代码Demo​​​​二解析​​​​2.1 关键的ActivityMainBindingImp()​​​​2.2 ​​​​2.3​​​​三总结​​​​3.1内存消耗的三个地方:​​​​3.2 ......