ボタンの背景画像を変更する必要がある場合に、ボタンにセレクターを適用する方法を考えています。ボタンが押されたときにテキストの色も変更したい。それを行うためにセレクターxmlを作成するような同様の方法はありますか? もう1つのオプションは、 onclick メソッドでテキストの色を変更することだと思いますが、同じことを行う他の方法またはより良い方法があるかどうかを知りたいと思いました。
ありがとう
onclick メソッドでテキストの色を変更すると思います
適切なセレクターを作成し、それを TextView color プロパティに割り当てるだけです
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
android:state_pressed="true"
android:color="somecolor"
/>
<item
android:state_focused="false"
android:state_pressed="true"
android:color="somecolor"
/>
<item android:color="somecolor" />
</selector>
そして、使用法:
android:textColor="@drawable/yourselector"
ボタンの背景画像を変更する必要があります
ドローアブルで色のプロパティを変更する項目だけで、背景もほぼ同じです。
ボタンの setOnClickListener にコードを配置すると、目的の背景やテキストなどをボタンに設定できます。これがお役に立てば幸いです。
drawable/now_playing_next.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/icon_down" />
<item android:state_pressed="false" android:drawable="@drawable/icon_up" />
</selector>
ここで icon_up は通常状態の背景画像で、icon_down は押された状態の画像です
その後
<Button
android:id="@+id/MediaNextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/now_playing_next" />
テキストを変更するには、OnClickListener を使用します