selector中state_pressed没效果的问题解决
分类:Android, Java
阅读 (6,216)
Add comments
7月 262015
今天被一个简单的selector对象给坑了,设置了state_pressed的drawable,但是死活都没有反应,后来在网上搜索,原来几个状态的顺序是很重要的!
android在匹配状态的时候,从上到下开始匹配,如果匹配到合适的状态就终止了,所以正常状态一定要放到最下面,否则其他的状态可能不会被显示。
如下代码:
1 2 3 4 5 |
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/circle_button_pressed" /> <item android:drawable="@drawable/circle_button_normal" />x </selector> |
正常的状态一定要放在最下面,其他的状态根据情况排序。
[…] 1. 一定要注意各个状态的顺序,见这篇文章 […]