2017-04-07 154 views
2

我試圖在此處更改我的工具欄的菜單項文本顏色,但它不起作用。這是我的風格:Android工具欄菜單文本顏色

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 

    <item name="toolbarStyle">@style/AppTheme.ToolbarStyle</item> 
    <item name="buttonStyle">@style/AppTheme.ButtonStyle</item> 
    <item name="colorControlHighlight">@color/colorPrimary</item> 
</style> 
<style name="AppTheme.ToolbarStyle" parent="Base.Theme.AppCompat.Light.DarkActionBar"> 
    <item name="android:background">@color/colorPrimary</item> 
    <item name="titleTextColor">@android:color/white</item> 
    <item name="titleTextAppearance">@style/TextAppearance.AppCompat.Widget.ActionBar.Title 
    </item> 
    <item name="actionMenuTextColor">@android:color/white</item> 
</style> 

佈局的xml:

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    app:title="@string/app_name" 
    app:titleMarginStart="@dimen/margin_l" 
    /> 

我曾嘗試直接在XML設置工具欄的主題,但菜單項仍然是回來了。有針對這個的解決方法嗎?

enter image description here

+0

添加這個,讓我知道<項目名稱=」 colorControlNormal「> @ android:color/white。 –

回答

3

AppTheme風格

<item name="actionMenuTextColor">@color/white</item> 
<item name="android:actionMenuTextColor">@color/white</item> 
+0

我不知道爲什麼,但它的工作。謝謝。 –

+0

很高興知道。 –

+1

'android:actionMenuTextColor'用於更高的API級別,如果您使用支持庫,則使用'actionMenuTextColor'。 –

-1

添加這些線在你的主題文件,你必須把這個:

<style name="AppTheme.ActionBar" parent="Theme.AppCompat.Light.DarkActionBar"> 
     ... 
    <item name="actionMenuTextColor">@color/text_color</item> 
     ... 
</style> 

和應用上面的主題到工具欄視圖像這樣android:theme="@style/AppTheme.ActionBar"

詳細的例子:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/main_toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    android:layout_gravity="top" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
    android:theme="@style/AppTheme.ActionBar"/> 
+0

這不是正確的答案。我已經嘗試過了。你必須仔細閱讀這些問題。 –

+0

@ЄвгенГарастовичok,但是您沒有提供您定位的api級別。我已經添加了這個' @ color/text_color',對於更高版本' @ color/white' –

+0

沒關係。這兩條線都不適用於工具欄主題。我不得不直接將這些行添加到AppTheme,然後一切正常。請檢查接受的答案。 –

-1

工具欄

<style name="AppTheme.ActionBar" parent="Theme.AppCompat.Light.DarkActionBar"> 
     ... 
    <item name="actionMenuTextColor">@color/your_color_code</item> 
     ... 
</style> 

創建主題,這個主題應用到你這樣的工具欄視圖:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:layout_gravity="top" 
    android:theme="@style/AppTheme.ActionBar"/> 
+0

你先生不在意。我已經嘗試過,並沒有奏效。 –

+1

@ЄвгенГарастович只是創建風格是不夠的,你必須將該主題附加到工具欄,在你的代碼中我可以看到你沒有應用任何主題。 –

+0

我試過直接在我的佈局文件中應用主題,但它沒有奏效。請注意這個問題。 –