2011-09-13 14 views
5

私は、簡単に私のアプリのルック・アンド・フィールを変えるいくつかのテーマを宣言できるようにしたいと考えています。ですから、アンドロイドから継承するスタイルを定義することができます:テーマとそれ内の属性を定義します。テーマ:テーマに応じた描画可能?

しかし、二つの質問:私は持っているしたい場合は

  1. 、アプリ内の異なるビューのために複数の背景色を何を言いますか?私は、アクティビティ全体のバックグラウンドと、アクティビティのテキストビューとは別のバックグラウンド、そしてボタンなどの背景を持つことができます。しかし、これらの(異なる)色のテーマは依存していますか?
  2. 使用中のテーマに依存するドロアブルのセットを定義することは可能ですか?私は、たとえば画面密度の異なるさまざまな描画可能ファイルを定義する方法と同様の方法を意味します。理想的には、私はさまざまなテーマのために使用される異なる色のスキームを持つ画像を持っています。この動作をAndroidで定義できますか?あなたの助けのための

おかげで、 ジェームズ

+0

必要な情報はすべてhttp://developer.android.comにあります。 – Merlin

答えて

3

あなただけの各ウィジェットタイプに必要なさまざまな色やドロワブルごとに異なるスタイルを定義して、様々なテーマのものを参照することができます。例:

<!-- themes --> 

<style name="MyTheme" parent="android:style/Theme.Light"> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowBackground">@drawable/something</item> 
    <item name="android:buttonStyle">@style/MyButton</item> 
</style> 

<style name="MyTheme.Red"> 
    <item name="android:buttonStyle">@style/MyButton.Red</item> 
</style> 

<style name="MyTheme.Blue"> 
    <item name="android:buttonStyle">@style/MyButton.Blue</item> 
</style> 

<!-- styles --> 

<style name="MyButton" parent="android:style/Widget.Button"> 
    <item name="android:background">@drawable/btn_mydefault</item> 
</style> 

<style name="MyButton.Red"> 
    <item name="android:background">@drawable/btn_red</item> 
</style> 

<style name="MyButton.Blue"> 
    <item name="android:background">@drawable/btn_blue</item> 
</style> 
+0

ありがとうございます。 attrファイルにカスタム属性を定義することでこれを補うことができました。 –

+0

"android:windowBackground"ディレクティブのおかげで、私はこれを探していました。 android:backgroundを使用すると、私が望むものではないすべてのウィジェットにバックグラウンドdrawableが適用されます。 – Yenchi

関連する問題