2012-01-30 2 views
1

私のアプリには3つの難易度モードがあります。イージー、ミディアム、およびハード。難易度(0-2)を記録する変数があります。この変数を使用してアプリの背景色を変更するにはどうすればよいですか?たとえば、モードが簡単なときは、背景が緑、中が黄色、難色が赤くなるようにします。ユーザー入力に基づいてAndroidアプリの背景色を変更するにはどうすればよいですか?

ここに私のレイアウトがあります。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    android:id="@+id/relativeLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/myBackground" > 

</RelativeLayout> 

そして私は、文字列リソースがあります。

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<color name="myBackground">#01CC18</color> 
</resources> 

をしかし、私は何をしたいプログラム自体ではなく、XMLレイアウトに背景を変更することが可能です。これはできますか?

+0

この問題のために、これまであなたが持っているコードを共有してください。 –

+0

あなたはどんな種類の「レイアウト」を使用していますか? – Mun0n

+0

質問にxmlレイアウトを追加してください。コメントではありません。 – WarrenFaith

答えて

3

のLinearLayoutであなたのメインビューを記入してください。そして、このレイアウトにハンドルを取得する:あなたの難易度が変化するたびに

LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayout1); 

あなたは、背景色を更新するには、このハンドルを使用することができます。

switch(difficulty) { 
case 0: 
    layout.setBackgroundColor(android.R.color.green); 
    break; 
case 1: 
    layout.setBackgroundColor(android.R.color.orange); 
    break; 
case 2: 
    layout.setBackgroundColor(android.R.color.red); 
    break; 
default: 
    break; 
} 
+0

何らかの理由で、私のプログラムは緑色、オレンジ色、赤色ではありません。それはそれらの色を受け入れません。それは黒、darker_grey、またはbackground_lightのようなものを許可します。しかし、私がそれらを使用したとき、それは墜落した。 – Spectacle

+0

@Spectacle代わりに "android.graphics.Color.RED"を使用してみてください。 – David

+0

それは動作します!ありがとうございました。 – Spectacle

関連する問題