2010-12-14 44 views
0

運行Android 2.1,首選項和其他對話框具有白色/藍色文本。看看主題值,我會看到諸如textColorPrimary和textColorSecondary之類的東西。如果我引用這些顏色在我的佈局XML,喜歡的東西:如何獲取2.1聯繫人或首選項中的藍色樣式文本

android:textColor="?android:attr/textColorSecondary" 

我只看到白色文本(我試圖textColorPrimary,textColorTertiary和textColorHint也)。

我的清單文件中沒有任何主題值。我假設這意味着我正在使用系統默認主題。

所有這一切說,我吠叫與textColor *引用錯誤的樹?

回答

1

所有textColor *屬性指向color selectors。 如果你想改變顏色的主題,你需要執行以下步驟:

1)創建一個顏色選擇,創建一個名爲文件(例如)primary_color.xml並把它下水庫\彩色夾

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="false" android:color="@android:color/bright_foreground_light_disabled"/> 
    <item android:state_window_focused="false" android:color="@android:color/bright_foreground_light"/> 
    <item android:state_pressed="true" android:color="@android:color/bright_foreground_light"/> 
    <item android:state_selected="true" android:color="@android:color/bright_foreground_light"/> 
    <item android:color="@android:color/bright_foreground_light"/> <!-- not selected --> 

2)在你的styles.xml文件,爲您的活動主題引用新創建的顏色選擇:

<style name="ActivityStyle" parent="android:Theme"> 
     <item name="android:textColorPrimary">@color/primary_color</item> 
     <!-- Add more styles here as necessary --> 
</style> 

3)在您的AndroidManifest.xml中,將新主題應用到您想要的任何活動:

<activity android:name=".activities.MedicationsActivity" 
     android:theme="@style/ActivityStyle"> 
</activity> 
+0

感謝您的評論Lior。但是我真正追求的卻完全相反。我想使用現有的主題顏色。我硬編碼了一種藍色,它與設置和聯繫人使用的藍色相匹配,但想要使用軟主題參考。 – Tom 2010-12-26 15:31:51

相關問題