StateListDrawable是否有可点击状态?

时间:2014-11-14 08:55:49

标签: android android-layout android-custom-view android-drawable

我正在构建一个可以选择点击的自定义视图。我想设置一个指示可点击状态的背景。通常,我会用XML Drawable实现这样的事情:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@android:color/white" android:state_enabled="false"/>
    <item android:drawable="@drawable/background_white_grey_spinner_pressed" android:state_pressed="true"/>
    <item android:drawable="@drawable/background_white_grey_spinner_normal"/>
</selector>

不幸的是,它看起来不像android:state_clickableandroid:state_pressable属性。考虑到android:state_long_pressable,这似乎是一种奇怪的疏忽。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

您应该合并单个项目的状态:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" android:state_enabled="false"/>
<item android:drawable="@drawable/background_white_grey_spinner_pressed" android:state_enabled="true" android:state_pressed="true"/>
<item android:drawable="@drawable/background_white_grey_spinner_normal" android:state_enabled="true" android:state_pressed="false"/>