41

Android アプリの背景色を設定するにはどうすればよいですか。私がしようとすると:

LinearLayout li=(LinearLayout)findViewById(R.id.myLayout);
li.setBackgroundColor(Color.parseColor("#rrggbb"));

私のアプリはいつもクラッシュします。誰かが私を助けてくれませんか。ありがとう

4

5 に答える 5

72
Color.parseColor("#rrggbb")

代わりに#rrggbb、rr、gg、bb に 0 から F の 16 進数値を使用する必要があります。

たとえばColor.parseColor("#000000")、またはColor.parseColor("#FFFFFF")

ソース

ドキュメントから:

public static int parseColor (文字列 colorString):

色の文字列を解析し、対応する color-int を返します。文字列を解析できない場合は、IllegalArgumentException 例外をスローします。サポートされている形式は次のとおりです: #RRGGBB #AARRGGBB 'red', 'blue', 'green', 'black', 'white', 'gray', 'cyan', 'magenta', 'yellow', 'lightgray', 'darkgray '、'グレー'、'ライトグレー'、'ダークグレー'、'アクア'、'フューシャ'、'ライム'、'マルーン'、'ネイビー'、'オリーブ'、'パープル'、'シルバー'、'ティール'

したがって、使用している場合#rrggbb、logcat でIllegalArgumentExceptionが発生していると思います

ソース

別:

Color mColor = new Color();
mColor.red(redvalue);
mColor.green(greenvalue);
mColor.blue(bluevalue);
li.setBackgroundColor(mColor);

ソース

于 2013-08-03T13:21:51.920 に答える
8

これを試して:

li.setBackgroundColor(android.R.color.red); //or which ever color do you want

編集: logcat ファイルを投稿することも役立ちます。

于 2013-08-03T13:19:19.983 に答える
1

ところで、AS の新しいバージョンで色をすばやく選択するための良いヒントは、単に #fff と入力し、コードの横にあるカラー ピッカーを使用して、必要な色を選択することです。すべての色の 16 進数を覚えるよりも速くて簡単です。例えば:

android:background="#fff"
于 2016-03-23T12:54:11.327 に答える