2011-10-19 14 views

答えて

1

スタイルを1つだけ作成することでこれを行うことはできません。テーマは基本的には、使用可能なさまざまなウィジェットのそれぞれのデフォルトスタイルを定義するメタスタイルです。まず、既存のシステムテーマのいずれかの親を持つテーマ(それ自体がスタイルです)を作成し、基本テーマから変更したい各ウィジェットのデフォルトのスタイル属性を設定します。あなたがあなたのテーマにデフォルトとして設定したい別のボタンのスタイルを持っていた場合たとえば、あなたはあなたのテーマの定義に以下を追加することがあります

<item name="android:buttonStyle">@style/MyButtonStyle</item> 

は、詳細はhttp://developer.android.com/guide/topics/ui/themes.htmlを参照してください。

+0

私は*スタイル属性に気付かなかった。どうもありがとう。 – firen

2

ここでは、役立つ可能性がある例を示します(簡略化するために微調整したため、逐語的に機能しない可能性があります)。解像度で

\値\のstyles.xml:RESで

<?xml version="1.0" encoding="utf-8"?> 
<resources xmlns:android="http://schemas.android.com/apk/res/android"> 
    <style name="TextColorForTheme"> 
    <item name="android:textColor">@color/red</item> 
    </style> 
</resources> 

\値\ themes.xml:

<?xml version="1.0" encoding="utf-8"?> 
<resources xmlns:android="http://schemas.android.com/apk/res/android"> 
    <style name="myTheme" parent="@style/android:Theme"> 
    <item name="android:listSeparatorTextViewStyle">@style/TextColorForTheme</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="android:windowFrame">@null</item> 
    </style> 
</resources> 

は、その後、あなたのAndroidManifest.xmlで、アプリケーション全体のいずれかを設定しますか、そのテーマを使用する個々のアクティビティ:

<application 
    android:theme="@style/myTheme" 
<snip>  
    <activity 
     android:theme="@style/myTheme" 
<snip> 

また、Javaアクティビティのコードでテーマを設定することもできます。

@Override 
    public void onCreate(Bundle bundle) 
    { 
    super.onCreate(bundle); 
    setTheme(R.style.myTheme); 
<snip> 
+0

しかし、それはグローバルに動作するのですか?私がやりたいことは、スタイルを別々にexに設定することです。ボタン、テキストフィールドなど – firen

+0

テーマを使用すると、アプリケーションまたはアクティビティ全体にスタイルを適用できます(これはあなたの質問が尋ねていたものです)。個々のUI要素にスタイルを適用する場合は、オブジェクトのXML(例:TextView)のstyle: "@ style:TextColorForTheme"を使用します。参照:http://developer.android.com/guide/topics/ui/themes.html –

関連する問題