如何将主题添加到Android ActionMenu

时间:2015-05-21 20:54:58

标签: android android-layout android-support-library android-theme android-actionbar-compat

我关注this S.O. post关于更改Action溢出菜单的外观,它告诉我创建一个主题来创建所需的更改。

我知道如何创建主题,并且我知道如何将主题应用于整个应用程序或特定活动,但我不了解如何将主题专门应用于ActionBar / Action Overflow菜单。

从上面提到的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>

1 个答案:

答案 0 :(得分:0)

尝试创建一个全新的主题,仅覆盖您有兴趣修改的部分。 假设您的应用的父主题是“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"