2010-06-10 83 views
2

我有一個列表視圖與兩個標籤,標題和副標題。我想用黑暗和光明的背景作爲用戶選項。標題具有文字外觀中值和副標題具有文字外觀小。我想要的風格,MyTheme.Dark有白色文本和MyTheme.Light有黑色文本。有沒有爲同一個TextView小部件定義多個textAppearance屬性的方法?如何讓用戶在android列表視圖中選擇主題?

<style name="MyTheme.Dark"> 
    <item name="android:windowBackground">@color/black</item> 
    <item name="android:colorBackground">@color/black</item> 
    <item name="android:background">@color/black</item> 
    <item name="android:divider">@color/white</item> 
     --cannot put textAppearance here since it is different for title and subtitle 
    </style> 

回答

0

我認爲最好的方法是對不同的顏色和主題有不同的佈局xml。根據用戶選擇加載佈局xml。我不喜歡這個,但我沒有找到任何替代品。

+0

看到我添加的答案... – Edi 2011-01-02 20:50:13

0

我是一個初學者與Android我自己,我不知道如果我不在自己的屁股在這裏,但爲什麼不使用android:textColor屬性?

<style name="MyTheme.Dark"> 
    <item name="android:windowBackground">@color/black</item> 
    <item name="android:colorBackground">@color/black</item> 
    <item name="android:background">@color/black</item> 
    <item name="android:divider">@color/white</item> 
    <item name="android:textColor">@color/white</item> 
</style> 
+0

該主題將應用於活動。我將擁有其他標題和副標題不同的文本屬性。看起來我需要重述我的問題。 – dipu 2010-06-10 17:38:55

+0

系統定義文字外觀樣式有顏色,尺寸指定。因此,主題中設置的顏色不適用於TextView小部件。試圖定義我自己的文本外觀風格仍然沒有運氣。看起來像ListView獲得一些listAppearance,即使我沒有指定它。 – dipu 2010-06-10 21:45:08

4

以供將來參考...

在值/的themes.xml:

<style name="MyTheme.Dark"> 
    <item name="textColorTitle">@color/white</item> 
</style> 
<style name="MyTheme.Light"> 
    <item name="textColorTitle">@color/black</item> 
</style> 

在值/ attrs.xml:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <attr 
     name="textColorTitle" 
     format="reference|color" /> 
</resources> 

在佈局/ my_list_row.xml,使用textColorTitle值爲您的文字顏色,如下所示:

android:textColor="?textColorTitle" 

讓我知道它是否無效。這個對我有用。

相關問題