2012-12-29 101 views
5

我試圖設立TextView文字顏色選擇使用下面的代碼:Android的文字顏色選擇

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="false" android:color="?android:attr/textColorTertiary" /> 
    <item android:color="?android:attr/textColorPrimary"/> 
</selector> 

然而,色彩始終顯得red,而不是那些theme colors。如果我把硬編碼的顏色,一切似乎工作正常。 (例如,<item android:state_enabled="false" android:color="#666666" />)。

什麼問題以及如何解決?附:如果有人知道如何爲列表中禁用的項目設置主題的默認禁用顏色,請分享,這是我正在努力實現的目標。謝謝。

+0

我有同樣的問題,在4.1上重現,但在較新的版本看起來很好(例如黑色主題上的黑色)。 '?android:attr/textColorPrimaryInverse'看起來是紅色的,但它不應該。我在我的主題中重新定義了'android:textColorPrimaryInverse'給一個自定義選擇器,但它仍然是紅色的。 –

+0

您是否找到了解決方案?我試圖使用?android:attr/textColor選擇器,並有類似的問題 – marilion91

回答

-2

據我所見,你可能不得不在選擇器中使用3個狀態。

state enabled 
state focused 
state pressed 

正是這個順序。這可能有幫助

+0

如果我只在我的選擇器中留下'''所以你的回答沒有幫助 – NullPointerException

-2

你用選擇器是爲了什麼原因?
如果你想使你的文本視圖文本總是紅色,那麼不需要選擇器。只需在color.XML中定義顏色或使用添加顏色在string.XML中定義。
如果你想在選擇或焦點上比使用狀態更好。
狀態啓用
狀態下按下
國家重點
比它會工作,因爲你需要。