4

ImageButton 画像を押したときにその画像を変更するにはどうすればよいですか?

4

1 に答える 1

13

これがお役に立てば幸いです。

これはすべて XML で行うことができます。

1)押された状態と押されていない状態の両方の画像を res/drawable フォルダーにインポートます

2) セレクターを作成します。ドローアブル フォルダーを右クリックし、[New/Android xml file] を選択します。「ok_button_selector.xml」などの名前を入力し、下のメニューからルート要素として「selector」を選択します。画面上のボタンごとに異なるセレクターを作成する必要があります。

3) 各セレクター ファイルで、クリックしたときに表示される画像を次のように定義する必要があります。

    <!-- language: lang-xml -->
    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android" 
    >
    <item
        android:state_pressed = "true"
        android:drawable="@drawable/search_icon_pressed"/>
    <item
        android:drawable="@drawable/search_icon"/>
    </selector>

最後がデフォルトであるため、この順序にする必要があります。

4) レイアウト ファイルで android:onClick="myButtonClicked" メソッドを使用して、ボタンのクリック動作を定義します。これにより、クリック リスナーを使用する必要がなくなります。Javaメソッドの名前が同じであることを確認してください:-)

5) ImageButton タグ内で、通常の画像ファイルの代わりに属性 android:src="@drawable/ok_button_selector" を定義します。

それでおしまい!Java onClick メソッドに追加のコードは必要ありません。

于 2012-09-18T12:19:38.697 に答える