Android : ボタンの文字色と背景色を変更する
2023-11-07 14:40:28
質問
ボタンが押されたときに、テキストと背景の色をxmlで変更するにはどうすればよいですか?
テキストの色を変更するには、次のようにします。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="mycolor"/>
<item android:color="mycolor2"/>
</selector>
背景を変更するために私が行うことができます(drawable参照を持つセレクタ/アイテムでそれを使用する):
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FF0079FF" />
</shape>
しかし、どうすれば両方を実現できるのでしょうか?例えば、:
- デフォルト:黒文字/白背景
- 押下時:白文字/青背景
EDIT : 回答
背景色と文字色が別々に管理されていることをすっかり忘れていたので、このような方法をとりました。
<Button
android:textColor="@color/filtersbuttoncolors"
android:background="@drawable/mybackgroundcolors" />
mybackgroundcolors.xmlで背景を管理し、filtersbuttoncolors.xmlでテキストの色を管理します。両方のxmlファイルで、私はステータス(押された、選択された、デフォルト)を管理します。
どのように解決するのですか?
デフォルトでは白、押されると黒になるドローアブルの例です。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape>
<solid
android:color="#1E669B"/>
<stroke
android:width="2dp"
android:color="#1B5E91"/>
<corners
android:radius="6dp"/>
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp"/>
</shape>
</item>
<item>
<shape>
<gradient
android:angle="270"
android:endColor="#1E669B"
android:startColor="#1E669B"/>
<stroke
android:width="4dp"
android:color="#1B5E91"/>
<corners
android:radius="7dp"/>
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp"/>
</shape>
</item>
</selector>
関連
-
[解決済み] TextViewでテキストを水平・垂直方向にセンタリングするには?
-
[解決済み] CSS画像を背景で伸縮させる - CSSのみで可能
-
[解決済み] node.jsのコンソールのフォントカラーを変更する方法は?
-
[解決済み] Android標準のボタンを色違いに
-
[解決済み】Androidのカスタマイズボタン、文字色の変更について
-
[解決済み] ArrayAdapter<myClass> の使用方法
-
[解決済み] Eclipseでのandroid:configChangesでのAdmobエラー
-
[解決済み] Android: ランドスケープモード用の代替レイアウト xml
-
[解決済み] ブルートゥースアプリケーションのテストにアンドロイドエミュレータを使用するには?
-
[解決済み] TextViewの背景色に関するセレクタ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 設定ページに移動せずに位置情報サービスをオンにする
-
[解決済み] android: imageview の画像を画面に合わせて伸縮させる
-
[解決済み] アプリ内課金テスト:android.test.purchased already owned
-
[解決済み] FloatingActionButtonのサンプルとサポートライブラリ
-
[解決済み] 文字サイズとアンドロイドの画面サイズの違い
-
[解決済み] EditTextをReadOnlyにする
-
[解決済み] ProjectScopeServices に Factory タイプのサービスはありません。
-
[解決済み] Android Lintが翻訳されていない文字列を訴えないようにする。
-
[解決済み] Travis.yml ./gradlew : パーミッションが拒否されました。
-
[解決済み] <string> XMLで改行やタブを作るには(eclipse/android)?