例:
<?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