Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用?/attr时actionMenuTextColor不工作_Android_Android Toolbar_Android Theme_Android Styles - Fatal编程技术网

Android 使用?/attr时actionMenuTextColor不工作

Android 使用?/attr时actionMenuTextColor不工作,android,android-toolbar,android-theme,android-styles,Android,Android Toolbar,Android Theme,Android Styles,我正在尝试更改工具栏中文本菜单项的颜色 使用时: <style name="Base.App" parent="Theme.MaterialComponents.Light.NoActionBar"> <item name="actionMenuTextColor">@color/blue</item> <style name="Base.App" pare

我正在尝试更改工具栏中文本菜单项的颜色

使用时:

<style name="Base.App" parent="Theme.MaterialComponents.Light.NoActionBar">
        <item name="actionMenuTextColor">@color/blue</item>
<style name="Base.App" parent="Theme.MaterialComponents.Light.NoActionBar">
            <item name="actionMenuTextColor">?attr/colorPrimary</item>

@颜色/蓝色
它可以工作,但在使用时:

<style name="Base.App" parent="Theme.MaterialComponents.Light.NoActionBar">
        <item name="actionMenuTextColor">@color/blue</item>
<style name="Base.App" parent="Theme.MaterialComponents.Light.NoActionBar">
            <item name="actionMenuTextColor">?attr/colorPrimary</item>

?属性/颜色初级
没有

有什么想法吗

编辑1:

工具栏样式如下所示

<item name="toolbarStyle">@style/Widget.App.Toolbar</item>

<style name="Widget.App.Toolbar" parent="Widget.MaterialComponents.Toolbar.Primary">
        <item name="materialThemeOverlay">@style/ThemeOverlay.App.Toolbar</item>
        <item name="titleTextAppearance">@style/Widget.App.Toolbar.TitleTextAppearance</item>
    </style>

    <style name="Widget.App.Toolbar.TitleTextAppearance" parent="TextAppearance.App.Headline6">
        <item name="android:textStyle">bold</item>
    </style>
@style/Widget.App.Toolbar
@样式/ThemeOverlay.App.Toolbar
@style/Widget.App.Toolbar.titletext外观
大胆的
编辑2:

使用


?attr/colorPrimaryVariant
实际上是有效的。但同样,不是
colorPrimary

<item name="actionMenuTextColor">?attr/colorPrimary</item>
这意味着使用
?attr/colorPrimary
操作菜单outextcolor使用
工具栏中的
colorApp4

如果要更改默认颜色,只需应用:

<style name="ThemeOverlay.App.Toolbar" parent=""> 
    <item name="colorPrimary">?attr/colorApp4</item>  
    <item name="actionMenuTextColor">......</item>
</style>

?属性/颜色应用程序4
......

同时发布您的工具栏。是否将ThemeOverlay.App.Toolbar作为父工具栏?不,它不是:?attr/colorApp4?attr/colorPrimary variant是否
actionMenuTextColor
看起来像
colorApp4
?attr/colorPrimary是蓝色的colorApp4是白色这是正确的,但如果我不覆盖actionMenuTextColor,那么我的菜单中的项目不是colorPrimary?@user2230304的颜色。我应该检查样式以找到默认值。如果我使用?attr/colorPrimary,这不起作用,因为正如你所说,我喜欢编写它。所以我找到的解决方法是使用Toolbar.Surface而不是Toolbar.Primary。这样我就可以保持我的colorPrimary不被触动:?attr/colorApp4?attr/colorPrimaryVariant?attr/colorPrimary这一个有效