StateListDrawable未显示按下状态

时间:2012-12-10 09:41:53

标签: android android-layout android-button nine-patch statelistdrawable

我只是想创建一个自定义的9-Patch Button。所以这就是我所拥有的:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/yellow_button_background_pressed"
          android:state_pressed="true" />
    <item android:drawable="@drawable/yellow_button_background_pressed"
          android:state_focused="true" />
    <item android:drawable="@drawable/yellow_button_background_default" />
</selector>

使用相应的图像:yellow_button_background_default(默认),yellow_button_background_pressed(按下)

和布局

<Button
    android:id="@+id/answerAButton"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="@string/answer_a"
    android:background="@drawable/yellow_button_background"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@color/black"/>

现在,当我触摸按钮时,没有任何反应。我尝试了一个模拟器和真正的手机,但它们总是显示默认图形。单个图形本身可以正常工作,但不知何故,StateListDrawable XML无法按预期工作。

非常感谢任何帮助。

解决方案: 代码没问题,但是另一段代码禁用了该按钮。因此,无法点击它。

1 个答案:

答案 0 :(得分:0)

问题既不是StateListDrawable也不是Layout。正如Luksprog指出的那样,该按钮从未收到过onClick事件,因为它已在代码中被禁用。愚蠢的我忘记了,重新启用按钮的事件从未在我当前的调试设置中触发。