2011-01-31 6 views

答えて

13

Androidのスタイルは、親スタイルを持つことができます。

MyActivityTextViewは親スタイルとしてGeneralTextViewを定義し、スタイルプロパティを変更/追加してください。

一部のビューではMyActivityTextView、それ以外の場合はGeneralTextViewを使用できます。

Defining Stylesに記載されています。

+0

ありがとうございます。それは素晴らしいです、ありがとうございます。しかしもう1つの質問:子スタイルも親プロパティを上書きできますか? – Bruiser

+1

はい、親プロパティをオーバーライドできます。 –

4

あなたのstyle.xml別で一つのスタイルを拡張することができます。

<style name="current_weekday_white" parent="current_day_white"> 
    <item name="android:textColor">#FFABAB</item> 
</style> 
+0

ねえ、テキストビューでこれを試してみましたが、最初のスタイルだけが拡張されたものではなく動作します。任意の手がかり? –

19

質問の全体的な価値に追加する可能性がある情報の少しだけ作品 - 臆面もなくからコピー:http://developer.android.com/guide/topics/ui/themes.html#DefiningStyles

独自に定義したスタイルから継承したい場合は、親属性を使用する必要はありません。代わりに、新しいスタイルの名前に継承するスタイルの名前の前にピリオドで区切って接頭辞を付けます。例えば、上記で定義されCodeFontのスタイルを継承する新しいスタイルを作成しますが、色は赤にするために、あなたはこのような新しいスタイルを作成できます:

<style name="CodeFont.Red"> 
     <item name="android:textColor">#FF0000</item> 
    </style> 

タグには親の属性が存在しないことに注意してください、しかし、 name属性はCodeFontスタイル名(作成したスタイル)で始まるため、このスタイルはそのスタイルからすべてのスタイルプロパティを継承します。このスタイルは、アンドロイド:textColorプロパティをオーバーライドして、テキストを赤にします。この新しいスタイルは@ style/CodeFont.Redとして参照できます。

名前をピリオドで連結して、何度でも継承することができます。たとえば、CodeFont.Redを次のように大きくすることができます。

<style name="CodeFont.Red.Big"> 
    <item name="android:textSize">30sp</item> 
</style> 
+4

私は以前にそのページを訪問し、調査した/スキミングしたにもかかわらず、この興味深い、そして非常に有用なお菓子を知らなかったことは興味深いことが分かります。ありがとう@ブルーザー。 – DavidDraughn

関連する問題