xml を使用して、ボタンが押されたときにテキストと背景の両方の色を変更するにはどうすればよいですか?
テキストの色を変更するには、次のことができます。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="mycolor"/>
<item android:color="mycolor2"/>
</selector>
私ができる背景を変更するには(ドローアブル参照を持つセレクター/アイテムで使用します):
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FF0079FF" />
</shape>
しかし、どうすれば両方を行うことができますか? 私がしたいとしましょう:
- デフォルト: 黒のテキスト/白の背景
- 押された:白い文字/青い背景
編集:答え
背景とテキストの色が別々に管理されていることをすっかり忘れていたので、次のようにしました。
<Button
android:textColor="@color/filtersbuttoncolors"
android:background="@drawable/mybackgroundcolors" />
mybackgroundcolors.xml で背景を管理し、filtersbuttoncolors.xml でテキストの色を管理します。両方のxmlファイルで、ステータスを管理します(押された、選択された、デフォルト)