☓☓

主にプログラミングでハマったこととその解決策を覚え書き

Android Studio でレイアウトの背景色を動的に変更する方法

数値を読み込んで、その数値に応じて背景色を変更する処理の雑な覚書

//背景色の設定
setContentView(R.layout.main);    //①
LinearLayout layout = (LinearLayout) findViewById(R.id.layoutView1);    //②
String str = sb.substring(6,11);    //③
layout.setBackgroundColor(Integer.parseInt(str, 16)+0xFF000000);    //④


①setContentViewメソッドで変更したいアクティビティ(ここではmain)を指定。

②main.xml内で使用している、背景色を変更したいレイアウト(ここではLinearLayout)のid(ここではlayoutView1)を見つけてlayout変数に代入。

③strに数値の文字列を代入。変数sbはStringBuilder型で宣言したものだからString型に変換している。substringは指定した要素〜要素までの文字列を返す。今回は、16進数で背景色を指定するために6文字返ってくるようにしている。

④layoutに背景色を指定。色はint型で指定しないといけないから、文字列型からint型に変換している。