2011-01-31 76 views

回答

13

Android下的風格可以有父風格。

所以只需要MyActivityTextViewGeneralTextView定義爲父類型,並更改/添加樣式屬性。

然後,您可以使用MyActivityTextView獲取某些視圖,GeneralTextView可以使用其他視圖。

它在Defining Styles中描述。

+0

哦,我明白了。太好了,非常感謝。還有一個問題:子樣式是否也可以覆蓋父屬性? – Bruiser 2011-01-31 13:27:48

+1

是的,它可以覆蓋父屬性。 – 2011-01-31 13:31:00

4

您可以在style.xml與其他擴展一個風格:

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

嘿在那裏我已經嘗試過與文本視圖,但只有第一種風格的作品,而不是擴展之一。任何線索? – 2014-11-22 04:30:03

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樣式名稱開頭(這是您創建的樣式),因此此樣式將繼承該樣式的所有樣式屬性。該樣式將覆蓋android:textColor屬性以使文本變爲紅色。你可以引用這個新風格爲@ style/CodeFont.Red。

通過鏈接名稱和句點,您可以繼續像這樣繼續多次。例如,您可以將CodeFont.Red擴展爲更大,使用:

<style name="CodeFont.Red.Big"> 
    <item name="android:textSize">30sp</item> 
</style> 
相關問題