【问题标题】:How to add theme to Android ActionMenu如何将主题添加到 Android ActionMenu
【发布时间】:2015-05-21 20:54:58
【问题描述】:
我正在关注 this S.O. post 关于更改操作溢出菜单的外观,它告诉我创建一个主题以创建所需的更改。
我知道如何创建主题,也知道如何将主题应用于整个应用程序或特定活动,但我不明白如何将主题专门应用于 ActionBar / Action Overflow Menu。
来自上述 S.O. 的公认答案。帖子,我创建了这个主题。有人可以帮我理解如何将它应用到 ActionBar / Action Overflow 菜单吗?
<style name="OverflowMenu" parent="Widget.AppCompat.PopupMenu.Overflow" >
<item name="overlapAnchor">false</item>
<item name="dropDownVerticalOffset">?attr/actionBarSize</item>
</style>
【问题讨论】:
标签:
android
android-layout
android-support-library
android-theme
android-actionbar-compat
【解决方案1】:
尝试创建一个全新的主题,只覆盖您有兴趣修改的部分。
假设您的应用的父主题是“Theme.AppCompat.Light.DarkActionBar”:
<style name="CustomTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="android:actionOverflowMenuStyle">@style/OverflowMenu</item>
</style>
<style name="MyActionBar" parent="Widget.AppCompat.ActionBar.Solid">
<!--Your custom ActionBar items-->
</style>
<style name="OverflowMenu" parent="Widget.AppCompat.PopupMenu.Overflow" >
<item name="overlapAnchor">false</item>
<item name="dropDownVerticalOffset">?attr/actionBarSize</item>
</style>
然后您将 Android Manifest 中的这个主题应用到整个应用程序或单个活动,添加以下行:
android:theme="@style/CustomTheme"