2017-04-07 146 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

我试过直接在我的布局文件中应用主题,但它没有奏效。请注意这个问题。 –