1

カスタムのトグル ボタンを追加しましたが、正常に動作します。問題は、トグル ボタンの有効化と無効化です。ボタンオン、ボタンオフ、ボタンオンと無効、ボタンオンと有効、ボタンオフと無効、ボタンオフと有効の異なるレイアウトが必要です。ここにオン/オフのコードがあります。実行する方法 ??

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true">
        <bitmap android:src="@drawable/button_pause_pressed"
          android:gravity="center_vertical|center_horizontal" />
    </item>
    <item android:state_checked="false">
        <bitmap android:src="@drawable/button_play_pressed_new"
          android:gravity="center_vertical|center_horizontal" />
    </item>        
</selector>
4

1 に答える 1

1

以前はそうしませんでしたが、StateListはドローアブルであるため、セレクターを含む別のXMLファイルを参照できる可能性があります。

これは次のようになります...
button.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_enabled="true"
    android:drawable="@drawable/button_enabled"/>

    <item android:drawable=@drawable/button_disabled/>
</selector>


button_enabled.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">
    <bitmap android:src="@drawable/button_pause_pressed"
      android:gravity="center_vertical|center_horizontal" />
</item>
<item android:state_checked="false">
    <bitmap android:src="@drawable/button_play_pressed_new"
      android:gravity="center_vertical|center_horizontal" />
</item>        
</selector>

button_disabled.xmlはbutton_enabled.xmlのように見えますが、無効になっているボタンの外観が含まれています。

于 2013-03-19T17:25:39.313 に答える