如何设置android动作栏溢出菜单的样式

时间:2015-11-08 13:32:23

标签: android android-styles

我通过官方文档学习android。问题是,android:popupMenuStyle不起作用。我尝试了我发现的所有内容,比如使用android:actionBarWidgetTheme,但没有一个能解决我的问题。 继承我的风格:

    <resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="CustomTheme" parent="@style/Theme.AppCompat.Light">
        <item name="android:actionBarStyle">@style/CustomTheme.ActionBar</item>
        <item name="actionBarStyle">@style/CustomTheme.ActionBar</item>
        <item name="android:actionOverflowButtonStyle">@style/CustomTheme.ActionBar.ActionOverflowButtonStyle</item>
        <item name="actionOverflowButtonStyle">@style/CustomTheme.ActionBar.ActionOverflowButtonStyle</item>
        <item name="android:popupMenuStyle">@style/CustomTheme.ActionBar.PupopMenuStyle</item>
        <item name="popupMenuStyle">@style/CustomTheme.ActionBar.PupopMenuStyle</item>
        <item name="android:windowActionBarOverlay">true</item>
        <item name="windowActionBarOverlay">true</item>
    </style>
    <style name="CustomTheme.ActionBar.PupopMenuStyle" parent="@style/Widget.AppCompat.Light.PopupMenu">
        <item name="android:popupBackground">@drawable/action_bar_background</item>
    </style>
        ...
    </resources>

我的min SDK是11。 我做错了什么?

1 个答案:

答案 0 :(得分:0)

好的,非常感谢this postscriptedpapers,我发现我应该使用android:dropDownListViewStyle,而不是android:popupMenuStyle。 (完全误解了这个概念,多么可惜:))

现在我的风格如下:

    </resources><resources xmlns:android="http://schemas.android.com/apk/res/android">

        <style name="CustomTheme" parent="@style/Theme.AppCompat.Light">
            <item name="android:actionBarStyle">@style/CustomTheme.ActionBar</item>
            <item name="actionBarStyle">@style/CustomTheme.ActionBar</item>
            <item name="android:actionOverflowButtonStyle">@style/CustomTheme.ActionBar.ActionOverflowButtonStyle</item>
            <item name="actionOverflowButtonStyle">@style/CustomTheme.ActionBar.ActionOverflowButtonStyle</item>
            <item name="android:dropDownListViewStyle">@style/CustomTheme.ActionBar.DropDownListViewStyle</item>
            <item name="dropDownListViewStyle">@style/CustomTheme.ActionBar.DropDownListViewStyle</item>
            <item name="android:windowActionBarOverlay">true</item>
            <item name="windowActionBarOverlay">true</item>
        </style>

        <style name="CustomTheme.ActionBar.DropDownListViewStyle" parent="@style/Widget.AppCompat.Light.ListView.DropDown">
            <item name="android:background">@drawable/action_bar_background</item>
        </style>
        ...
    </resources>