AppCompat v21暗色工具栏样式

23

我希望我的工具栏能够作为操作栏,并且我希望它看起来像一个浅色主题和一个深色的操作栏。我似乎找不到正确的组合来实现这个目标。

这是我在styles.xml中拥有的内容。

<style name="Theme.MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">

    <item name="windowActionBar">false</item>

    <item name="colorPrimary">@color/my_awesome_color</item>
    <item name="android:textColorPrimary">@color/my_awesome_text_color</item>
    <item name="colorPrimaryDark">@color/my_awesome_darker_color</item>
    <item name="colorAccent">@color/accent</item>

</style> 

我的工具栏

 <android.support.v7.widget.Toolbar
    android:id="@+id/my_awesome_toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:minHeight="?attr/actionBarSize" />

目前我得到了这个

输入图像描述

我想要的是菜单项也是白色的

是否有优雅的解决方案或者我必须为工具栏的每一个项目选择自定义样式?看起来应该有更好的方法。

2个回答

67

您可以在工具栏上使用以下主题将其设置为“暗色”。第一部分app:theme将Toolbar上的文本颜色等设置为浅色主题。而app:popupTheme用于将溢出菜单指示器进行样式化,以使其变为浅色主题。

<android.support.v7.widget.Toolbar
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="@dimen/triple_height_toolbar"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

所以没有“内置的方式”吗? - Yoni Levy
5
“内置方式”是什么?在工具栏上使用简单的主题大概就是最接近“内置方式”的了。如果你想要像DarkToolbar小部件之类的东西,那是没有的。据我所知,这是实现你的结果的可接受方法。 - MrEngineer13
@user1987392 谢谢,我在此期间设法弄清楚它是当前应用程序的通用“通配符”命名空间。 - vbence
现在app:theme可以从parent="ThemeOverlay.AppCompat.Dark.ActionBar"继承。 - Daniel Gomez Rico

1
我确定我有点晚了,但是要在您的主题中执行此操作,请添加:<item name="android:textColorSecondary">my_awesome_text_color</item>

如果你将它添加到你的主题中,它将会改变不止溢出菜单图标的颜色。 - Alex Styl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接