0

たとえば、btn_star_big_off を btn_star_big_on に変更したい

誰かがボタンをクリックするたびに、その状態が変化するはずです。Toogle は完璧ですが、それを組み合わせる方法がわかりません。ボタンの状態を変更する方法がわかりません。ドローアブル XML ファイルでそれができることがわかりましたが、インポートした画像にしかアクセスできず、システム リソースの画像にはアクセスできませんか?

ボタン:

<ImageButton
                android:id="@+id/imageButton4"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:src="@android:drawable/btn_star_big_off" />

そして、これが私のドローアブル XML からの試行です。

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

    <item android:drawable="@drawable/button" android:state_pressed="true"/>
 <!-- pressed -->
    <item android:drawable="@drawable/button"/>
 <!-- default -->

</selector>
4

1 に答える 1

3

トグルボタンを使用する必要があります

1) レイアウトで、ToggleButton を実装します。

<TableRow
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:weightSum="1">

    <ToggleButton
    android:layout_width=0dp"
    android:layout_height="wrap_content"
    android:layout_weight=".3"
    android:background="@drawable/my_button"
    android:text=""
    android:textOff=""
    android:textOn=""/>

</TableRow>

2) drawable ディレクトリに xml レイアウトを作成 (ここでは my_button.xml )

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@android:drawable/btn_star_big_on" android:state_pressed="true"/><!-- pressed -->
    <item android:drawable="@android:drawable/btn_star_big_on" android:state_focused="true"/><!-- focused -->
    <item android:drawable="@android:drawable/btn_star_big_on" android:state_checked="true"/>
    <item android:drawable="@android:drawable/btn_star_big_off" android:state_checked="false"/>
    <item android:drawable="@android:drawable/btn_star_big_off"/> <!-- default -->
</selector>

ここで、フォーカスされた img が必要な場合は、別の状態を追加します

于 2013-06-19T12:36:32.533 に答える