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这一个有效