【发布时间】:2015-07-25 23:19:00
【问题描述】:
我有一个以“轻”为主题的应用程序:
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
<!-- etc. -->
</style>
我希望我的Toolbars 是深色主题,所以我设置了以下样式,正如Chris Banes 所建议的那样:
<style name="Theme.MyTheme.Toolbar" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<!-- stuff -->
</style>
然后,通过将android:theme="@style/Theme.ByodTheme.Toolbar" 添加到我的android.support.v7.widget.Toolbar,一切都按预期进行(即使Android Studio 预览版的标题没有显示白色,但它可以在设备上运行):
现在,我不想为我的应用程序中的每个工具栏指定android:theme,而是想在我的主题中指定样式并忘记它。我已经尝试过 toolbarStyle 属性,但它看起来不像预期的那样工作,因为它完全弄乱了标准属性:
我还通过使工具栏主题继承自Widget.AppCompat.Toolbar,并通过更改titleTextAppearance 和subtitleTextAppearance 进行了其他尝试,但是看起来无法更改溢出图标颜色(是的,我尝试设置actionOverflowButtonStyle 并从 Widget.AppCompat.ActionButton.Overflow 继承该样式,但未成功更改溢出图标颜色)。
有没有办法从一个点为我的应用程序中的每个工具栏指定主题?
【问题讨论】:
标签: android android-appcompat material-design android-theme android-toolbar