actionMenuTextColor 在使用时不起作用?/attr
actionMenuTextColor not working when using ?/attr
我正在尝试更改工具栏中文本菜单项的颜色
使用时:
<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>
编辑 2:
使用
<style name="Base.App" parent="Theme.MaterialComponents.Light.NoActionBar">
<item name="actionMenuTextColor">?attr/colorPrimaryVariant</item>
确实有效。但同样,不是 colorPrimary
<item name="actionMenuTextColor">?attr/colorPrimary</item>
它不使用 colorPrimary
,因为在 Toolbar
中,您用以下内容覆盖了 colorPrimary
:
<style name="Widget.App.Toolbar" parent="Widget.MaterialComponents.Toolbar.Primary">
<item name="materialThemeOverlay">@style/ThemeOverlay.App.Toolbar</item>
</style>
<style name="ThemeOverlay.App.Toolbar" parent="">
<item name="colorPrimary">?attr/colorApp4</item> <!-- HERE -->
</style>
意思是在actionMenuTextColor
中使用?attr/colorPrimary
,在Toolbar
中使用colorApp4
。
如果您想更改默认颜色,只需应用:
<style name="ThemeOverlay.App.Toolbar" parent="">
<item name="colorPrimary">?attr/colorApp4</item>
<item name="actionMenuTextColor">......</item>
</style>
我正在尝试更改工具栏中文本菜单项的颜色
使用时:
<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>
编辑 2:
使用
<style name="Base.App" parent="Theme.MaterialComponents.Light.NoActionBar">
<item name="actionMenuTextColor">?attr/colorPrimaryVariant</item>
确实有效。但同样,不是 colorPrimary
<item name="actionMenuTextColor">?attr/colorPrimary</item>
它不使用 colorPrimary
,因为在 Toolbar
中,您用以下内容覆盖了 colorPrimary
:
<style name="Widget.App.Toolbar" parent="Widget.MaterialComponents.Toolbar.Primary">
<item name="materialThemeOverlay">@style/ThemeOverlay.App.Toolbar</item>
</style>
<style name="ThemeOverlay.App.Toolbar" parent="">
<item name="colorPrimary">?attr/colorApp4</item> <!-- HERE -->
</style>
意思是在actionMenuTextColor
中使用?attr/colorPrimary
,在Toolbar
中使用colorApp4
。
如果您想更改默认颜色,只需应用:
<style name="ThemeOverlay.App.Toolbar" parent="">
<item name="colorPrimary">?attr/colorApp4</item>
<item name="actionMenuTextColor">......</item>
</style>