質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

1回答

3366閲覧

android studio ボタンの色変更

schrodinger0120

総合スコア1

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2020/09/04 09:24

前提・実現したい

android studioで、3×3のボタンがあるんですが、そのボタンの1つを押すとそのボタンと上下左右のボタンの色が変える
ってやつをやりたいんですが、どうやったらいいですかね?
色は2色でcolors.xmlでxとyって名前になってます。

一応ボタンの色がxの時はyにyの時はxにするって処理なんですが

自分は
Button button=findViewById(R.id. button)
button.setBackgroundColor(y)
とかで色を変える方法しかしらなくて

特定のボタンが押された時xなのかyなのか判断する方法がわからないんですよね

誰かわかる方教えてください

発生している問題・エラーメッセージ

ifやSwitchなどで判断しようとは思っているんですが、色の判断内容がわからない

該当のソースコード

java

試したこと

自分は
Button button=findViewById(R.id. button)
button.setBackgroundColor(y)
とかで色を変える方法しかしらなくて

ifやSwitchで色を判断してやろうと思ったんですが、その色の判断の方法がわからなくて困って居ます

補足情報(FW/ツールのバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

いろいろ方法がありますが、僕が思う、一番簡単な方法は。。。

Java

1button.setId("yellow"); 2 3button.setOnclick...{ 4...(View v) 5if(v.getId == "yellow"){ 6v.setBackgroundColor(Color.RED); 7v.setId("RED"); 8}else if(v.getID == "RED"){ 9v.setBackgroundColor(Color.YEELOW); 10v.setId("Yellow"); 11} 12 13 14} 15

みたいな感じで。
ちなみにv.getIdがもしString型のifだったら
v.getId.equal("yellow")
と言った具合に変更してください。

投稿2020/09/05 06:30

編集2020/09/05 06:31
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

schrodinger0120

2020/09/07 08:12

なんだか変えてみましたが無理みたいで、よくわかりませんでした。 一応自分の作ってるやつ載せておきます。 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button_r = findViewById(R.id.button_r); button_r.setOnClickListener(new MyClickListener()); Button button1=findViewById(R.id.button); button1.setOnClickListener(new Click()); Button button2 =findViewById(R.id.button2); button2.setOnClickListener(new Click()); //3~8も同じ Button button9 =findViewById(R.id.button9); button9.setOnClickListener(new Click()); } //ここはリセットなのできにしないで class MyClickListener implements View.OnClickListener { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "リセットしました", Toast.LENGTH_SHORT).show(); Button button=findViewById(R.id.button); Button button1=findViewById(R.id.button2); Button button2=findViewById(R.id.button3); Button button3=findViewById(R.id.button4); Button button4=findViewById(R.id.button5); Button button5=findViewById(R.id.button6); Button button6=findViewById(R.id.button7); Button button7=findViewById(R.id.button8); Button button8=findViewById(R.id.button9); int y= getResources().getColor(R.color.y); //R.color.xxx は name=”xxx”とした時 button.setBackgroundColor(y); // view は変更対象の部品に適宜置き換える button1.setBackgroundColor(y); // view は変更対象の部品に適宜置き換える button2.setBackgroundColor(y); // view は変更対象の部品に適宜置き換える button3.setBackgroundColor(y); // view は変更対象の部品に適宜置き換える button4.setBackgroundColor(y); // view は変更対象の部品に適宜置き換える button5.setBackgroundColor(y); // view は変更対象の部品に適宜置き換える button6.setBackgroundColor(y); // view は変更対象の部品に適宜置き換える button7.setBackgroundColor(y); // view は変更対象の部品に適宜置き換える button8.setBackgroundColor(y); // view は変更対象の部品に適宜置き換える } } //ここから悩んでる所です。 class Click implements View.OnClickListener { @Override public void onClick(View v) { int y= getResources().getColor(R.color.y); int x= getResources().getColor(R.color.x); switch (v.getId()) { case (R.id.button): //ここをif文とかで判定したい        Button button=findViewById(R.id.button); button2.setBackgroundColor(x); //if(ここがわからない){ 色を変える作業 }else{ //色を変える作業 } break; case (R.id.button2): break; case (R.id.button3): Toast.makeText(MainActivity.this, "3がおされた", Toast.LENGTH_SHORT).show(); break; case (R.id.button4): Toast.makeText(MainActivity.this, "4がおされた", Toast.LENGTH_SHORT).show(); break; case (R.id.button5): Toast.makeText(MainActivity.this, "5がおされた", Toast.LENGTH_SHORT).show(); break; case (R.id.button6): Toast.makeText(MainActivity.this, "6がおされた", Toast.LENGTH_SHORT).show(); break; case (R.id.button7): Toast.makeText(MainActivity.this, "7がおされた", Toast.LENGTH_SHORT).show(); break; case (R.id.button8): Toast.makeText(MainActivity.this, "8がおされた", Toast.LENGTH_SHORT).show(); break; case (R.id.button9): Toast.makeText(MainActivity.this, "9がおされた", Toast.LENGTH_SHORT).show(); break; } } } }
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問