0

カスタムの9パッチボタンを作成したいだけです。だからここに私が持っているものがあります:

<?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"/>

さて、ボタンをタッチしても何も起こりません。エミュレーターと実際の電話を試しましたが、常にデフォルトのグラフィックが表示されます。個々のグラフィックはそれ自体で正常に機能しますが、どういうわけかStateListDrawableXMLが意図したとおりに機能していません。

どんな助けでも大歓迎です。

解決策: コードは問題ありませんが、ボタンが別のコードによって無効にされています。そのため、クリックできませんでした。

4

1 に答える 1

0

問題はStateListDrawableでもレイアウトでもありませんでした。Luksprogが指摘したように、ボタンはコードで無効にされていたため、onClickイベントを受信しませんでした。愚かな私は、ボタンを再度有効にするイベントが現在のデバッグセットアップでトリガーされなかったことを忘れていました。

于 2012-12-10T14:59:20.757 に答える