Selector的应用场景
1:为Button和ListView每项设置selector
Button的常用Selector
1、Button,比如按下时有不同的背景色:
<selector>
<item android:state_pressed android:drawable="@android:color/black"/>
<item android:drawable="@android:color/white"/><!--引用系统自带颜色值-->
</selector>
上面的item也可以换成另一种写法:
<item android:state_pressed>
<color android:color="#eeeeee"/>
</item>
为Button加入android:background="@drawable/xml文件名"
ListView的常用Selector
2、ListView,希望按下去每行与不同的背景色:
<selector>
<item android:state_selected android:drawable="@android:color/black"/>
<item android:drawable="@android:color/white"/><!--引用系统自带颜色值-->
</selector>
上面的item也可以换成另一种写法:
<item android:state_pressed>
<color android:color="#eeeeee"/>
</item>
为ListView加入android:listSelector="@drawable/xml文件名"
2:在selector中使用shape
知识点:
shape可以作为控件的背景使用,所以,在设置selector时,不仅可以用背景图、背景色作为背景,也可以使用shape作为背景。
<selector>
<item android:state_pressed="true">
<shape><solid ...></solid></shape>
</item>
<item>
<shape><solid ...></solid></shape>
</item>
</selector>
3:为ImageView的src设置selector
一个常见的业务场景,比如我们做引导动画时,下方会有一个原点指示器,就会用到这里的知识点:
enabled为true代表启用状态,false为禁用状态:
<selector>
<item android:drawable="@drawable/dark_dot" android:state_enabled="true"/>
<item android:drawable="@drawable/white_dot" android:state_enabled="false"/>
</selector>