2012-02-18 34 views
1

たとえば、テーマに複数のstyles.xmlファイル(コース名が異なる)があるとします。アプリから取り出すファイルを選択することは可能ですか?スタイルを切り替える

ホワイトスタイル:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="mybutton"> 
     <item name="android:layout_width">45dp</item> 
     <item name="android:layout_height">fill_parent</item> 
     <item name="android:textColor">#202020</item> 
     <item name="android:textSize">20dp</item> 
     <item name="android:textStyle">bold</item> 
     <item name="android:background">@drawable/white_btnbg</item> 
    </style> 

... 

ブラックスタイル:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="mybutton"> 
     <item name="android:layout_width">45dp</item> 
     <item name="android:layout_height">fill_parent</item> 
     <item name="android:textColor">#FFFFFF</item> 
     <item name="android:textSize">20dp</item> 
     <item name="android:textStyle">bold</item> 
     <item name="android:background">@drawable/black_btnbg</item> 
    </style> 

... 

それでは、私のレイアウトXMLですべての私のボタンのスタイルは「myButtonという」とし、ユーザーはそれを選んだそのテーマによって設定されますコーディネイトファイルから引き出します。 実行時にビューのスタイルを変更することはできないため、これは可能ですか?それとも、スタイルを変える良い方法がありますか?

答えて

0

異なる名前の複数のスタイルを使用します。次に、プログラムによってバックグラウンドを設定することができます:

Button b = new Button(this); 
b.setBackgroundResource(R.drawable.blabla); 
+0

私はそれを知っていますが、それは問題ではありません。 – bwoogie

+0

実行時にスタイルを変更することはできませんが、ビューが使用しているスタイルを変更することはできます。複数のスタイルを使用することができ、プログラマチックに実行時にどのスタイルを使用するかを決めることができます。 – Murat

+0

手入れが行き届いていますか? – bwoogie