2012-03-16 8 views
0

ユーザーは5つのテーマからテーマを選択する必要があり、アプリケーションのすべてのアクティビティで選択したテーマを設定する必要があります。これに関するアイデアAndroid:アンドロイドアプリケーションにテーマを適用する方法

これに時間を割いてください。

おかげ

+0

テーマの意味をより詳細に定義します。これはフルスクリーン、タイトルバーなどの意味でテーマを意味しますか(Eclipseでレイアウトを作成する場合など)、これは色分けのような意味ですか? – gkiar

+0

私たちは、選択した背景イメージをすべてのアクティビティに適用する必要があるユーザーの選択に基づいて5つの背景イメージを持っています。 – Kavi

答えて

0

テーママネージャがint

を返すすべてのcompontの静的関数を宣言すると言うクラスを作成するだけの方法

top.setBackGroundResource(thememanager.getTop()); 
0

を呼び出す活性に

public static int getTop() 
{ 

return R.Drawable.top1; 
} 

を言います私はこれに次のようにアプローチします:

ステップ1:

は、(すべてのあなたの活動に使用される)公共ダミー変数を作成し、そのようなあなたのテーマの配列。

public Integer background; 
private Integer[] mImageIds = { 
    R.drawable.theme1, 
    R.drawable.theme2, 
    R.drawable.theme3, 
    R.drawable.theme4, 
    R.drawable.theme5, 
}; 

ステップ2:

は、アレイ(0-4)の要素を選択して、バックグラウンドの変数に代入(どんなリスト、ボタンを、)背景を選択するあなたの方法を持っています。

position = 1; % ranging from 0-4 
background = mImageIds[position]; 

ステップ3:

あなたがそれぞれの活動をロードし、あなたの背景変数であることを背景に設定します。 (私がこれを行う方法を示す方法はちょっと違うもので、スクリーンにまたがるイメージビューの内容にそれを適用しています)。

ImageView iv = new ImageView(R.id.background-box); 
iv.setImageResource(background); 

EDIT:あなたは最後のステップは、そのようなあなたのイメージする空のテキストビューの背景を設定している達成できる

もう一つの方法。

TextView tv = new TextView(R.id.background-textbox); 
tv.setBackgroundResource(background); 
+0

ご回答いただきありがとうございます。私はこれを試してみます... – Kavi

+0

これはあなたのために働くかどうか教えてください! :) – gkiar

+0

あなたは私に戻ったことはありません、あなたのためにこの作品でしたか?その場合は、answerを選択してください。 – gkiar

関連する問題