btn_default.xml 来自于源代码陌陌中的drawable文件夹中,以下都是个人见解,如果谁发现什么错误,谢谢指正
<?xml version="1.0" encoding="utf-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/btn_big_normal_disable" />
<item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/btn_big_normal_press" /><item android:state_enabled="false" android:drawable="@drawable/btn_big_normal_disable" />
<item android:drawable="@drawable/btn_big_normal_normal" />
</selector>
这个文件的大概作用就是在控件的不同的状态的时候选择不同的资源
指定资源的语句是:
android:drawable="这里指定对应的资源"
下面介绍一下各种控件的各种状态
android:state_pressed 这个表示的是是否按下true or false
android:state_focused 聚焦状态 true or false
state_selected 选中状态
state_checkable 可选状态
state_checked 选中状态
state_enabled 可用状态
window_focused 窗口焦点状态可用
这些值都是boolean型的值,还有一点值得注意的是:这些是从第一个item开始匹配的,只要有符合要求的就会选择的
后面有符合要求的也会无效,所以第一个值匹配的范围要尽量小
参考文章:http://write.blog.youkuaiyun.com/postedit