Android中,对某一个layout定义点击效果,在drawable中定义selector文件时。要注意item状态的顺序,如:
个人猜测,系统应该是按照状态定义的顺序去匹配,如果匹配到则停止向下执行。如果default状态放到第一个来定义的话,则该效果就无效了。
在layout中引用该效果时,除了需要指定backgroud外,还需要指定clickable="true"
<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"
......