2016-02-16 48 views
1

我的主題是:Android的 - 按鈕的文字顏色不overrided

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="actionBarTheme">@style/MyActionBarTheme</item> 
    <item name="actionBarStyle">@style/MyActionBarStyle</item> 
    <item name="circularProgressBarStyle">@style/CircularProgressBar</item> 
    <item name="actionBarTabTextStyle">@style/MyActionBarTabText</item> 
    <item name="actionMenuTextColor">@color/white</item> 
    <item name="actionBarTabBarStyle">@style/MyActionBarTab</item> 
</style> 

我看不出有任何的風格在這裏會影響我的按鈕上的文字顏色,因爲他們的行動的直板造型。但我仍然無法改變我的按鈕上的文字顏色佈局文件:

<Button 
    ... 
    android:textSize="22sp" 
    android:textColor="@color/yellow" 
    ... /> 

我在這裏,但不是textColor改變textSize。任何人都能告訴我爲什麼?它不應該是造型的最高優先級嗎? (這意味着覆蓋style.xml配置,如果有的話)。如果我錯了,請糾正我。非常感謝!

+0

您可以應用自定義樣式進行樣式複製並修改它並應用到按鈕。 –

+0

可以顯示'@ color/yellow' –

+0

@PhanVănLinhnope,但我想通過在'color.xml'中應用'selector'使其工作,聲明啓用和禁用都具有相同的顏色......雖然它是一個愚蠢的解決方案 –

回答

0

這是你應該做的事情:

android:textColor="@android:color/yellow" 

,而不是

android:textColor="@color/yellow" 
+0

但是這是Android框架的顏色,我想用我自己的一個 –

0

button.setTextColor(getApplication()getResources()的getColor(R.color.green)。);

button.setTextColor(Color.parseColor(「#ff1100」));

+0

這將工作,但實際上我想保持UI配置資源,而不是把它放在邏輯代碼 –

+0

試試這個...

0

添加到您的風格這

<item name="colorButtonNormal">@color/colorPrimary</item> 

您可以添加屬性的android:背景,按鈕類這樣

<Button 
... 
android:textSize="22sp" 
android:background="@color/yellow" 
... /> 
0

正如TejjD說:

這是你應該做的:

機器人:文字顏色= 「@安卓色/黃」,而不是

機器人:文字顏色= 「@色/黃色」

你必須定義在Colors.xml文件自定義顏色。