Android中定义selector时的注意点

    Android中,对某一个layout定义点击效果,在drawable中定义selector文件时。要注意item状态的顺序,如:
<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"
        ......

猜你喜欢

转载自godjohnny.iteye.com/blog/2256285
今日推荐