<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@color/lightgray" /> <!-- pressed --> <item android:drawable="@color/white" /> <!-- default --> </selector>
个人猜测,系统应该是按照状态定义的顺序去匹配,如果匹配到则停止向下执行。如果default状态放到第一个来定义的话,则该效果就无效了。
在layout中引用该效果时,除了需要指定backgroud外,还需要指定clickable="true"
<LinearLayout ...... android:background="@drawable/上面的selector文件" android:clickable="true" ......