ボタンイベントでボタンの背景をOnClickでOnの時だけ、変更したいのですがどのようなコードを使用すればいいか分かりません。
ご教授のほど、よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ボタンのbackgroundにxmlファイルを指定すると、ボタンが複数あっても簡単に統一出来ます。
XML
1<selector xmlns:android="http://schemas.android.com/apk/res/android"> 2 <item android:state_pressed="false"> 3 <!-- Offの時 赤色--> 4 <color android:color="#ff0000"></color> 5 </item> 6 7 <item android:state_pressed="true"> 8 <!-- Onの時 青色--> 9 <color android:color="#0000ff"></color> 10 </item> 11</selector>
【追記】
デフォルトで赤色ボタン、押すと青色ボタンにしました。
投稿2018/09/25 06:02
編集2018/09/25 16:50総合スコア442
0
ベストアンサー
この辺りが参考になると思います。
Buttonの状態に応じて、text,textColor,BackgroundColorを変えるには
xml
1<?xml version="1.0" encoding="utf-8"?> 2<selector xmlns:android="http://schemas.android.com/apk/res/android"> 3 <item android:drawable="@drawable/on" android:state_pressed="true" /> 4 <item android:drawable="@drawable/off" /> 5</selector>
というxmlを作成すれば、平時はoffという画像、押し込んでいる間はonという画像が用いられるようになると思います。
投稿2018/09/25 06:02
総合スコア6768
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
ご教授ありがとうございます。試してみます。
少し付け加えて質問よろしいでしょうか。例えば、正解=red、不正解=blueのように、ボタン背景を条件によって変えることは可能でしょうか。
2018/09/26 14:06
「正解のときの配色」「不正解のときの配色」の2種類のxmlを用意しておいて、画面を描画するとき(onCreateなど)の処理でそれぞれのボタンにsetBackgroundResourceメソッドで設定をすればいいのではないでしょうか。「正解のときの配色」をres/drawable/correct.xml、「不正解のときの配色」をres/drawable/incorrect.xmlとして用意したならば、
button1.setBackgroundResource(R.drawable.correct);
button2.setBackgroundResource(R.drawable.incorrect);
のようにすればいいでしょう。
2018/09/27 02:50
xmlを用意する際に、layoutのボタンを設定するにはどうしたらいいのでしょうか。
2018/09/27 15:01
質問の意味がよくわからないです・・・。私の回答に示したxmlは、部分的なものではなくこれで全文です。このxmlの中にlayoutで配置したボタンの情報を何かしら記述するものとお考えならば、それは違います。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。