为什么我们在最后一次定义这个项目
<item android:drawable="@drawable/twitter_im_edittext_normal" />
在像这样的选择器中
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false"
android:state_enabled="true"
android:drawable="@drawable/twitter_im_edittext_normal" />
<item android:state_window_focused="false"
android:state_enabled="false"
android:drawable="@drawable/twitter_im_edittext_normal" />
<item android:state_pressed="true"
android:drawable="@drawable/twitter_im_edittext_normal" />
<item android:state_enabled="true"
android:state_focused="true"
android:drawable="@drawable/twitter_im_edittext_focused" />
<item android:state_enabled="true"
android:drawable="@drawable/twitter_im_edittext_normal" />
<item android:state_focused="true"
android:drawable="@drawable/twitter_im_edittext_focused" />
<item android:drawable="@drawable/twitter_im_edittext_normal" />
</selector>
答案 0 :(得分:1)
在每次状态更改期间,状态列表从上到下遍历,并且使用与当前状态匹配的第一个项目 - 选择不基于“最佳匹配”,而只是满足最低条件的第一个项目国家。
答案 1 :(得分:0)
将选择器视为switch
案例。声明按照列出的顺序进行验证,因此最后一个是您的default:
子句。如果您的视图与任何条件都不匹配,则默认为
<item android:drawable="@drawable/twitter_im_edittext_normal" />