如何使溢出弹出菜单避免阻塞操作栏?

问题描述 投票:9回答:1

背景

my app上,当我更新到新的支持库并尝试使用Lollipop时,我注意到了一个奇怪的问题:单击操作栏的溢出按钮(甚至是新的Toolbar类)将在操作栏顶部显示弹出菜单,隐藏其他操作项,例如:

这里隐藏的操作项是卸载和共享。

问题

我尝试通过溢出菜单的样式来避免此问题,但没有任何帮助。

不仅如此,而且似乎是an intentional behavior,但是在许多经过更新以具有Material设计的Google应用中,这种行为并不成立,正如我所报道的here

我尝试过的

我已经尝试在使用的主题中创建它。实际上,我的主题非常不同,其主题是“ Theme.AppCompat.Light.NoActionBar”(并且我使用工具栏作为actionBar),但是此代码段也存在此问题,因此,我认为如果一个解决,另一个会解决也是。

无论如何,这是代码段:

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

    <style name="AppBaseTheme" parent="Theme.AppCompat.Light"></style>

    <style name="AppTheme" parent="AppBaseTheme">
        <item name="android:actionOverflowMenuStyle" tools:targetApi="21">@style/OverflowMenu</item>
    </style>

    <style name="OverflowMenu" parent="@android:style/Widget.Material.PopupMenu.Overflow" tools:targetApi="21">
        <item name="android:overlapAnchor">false</item>
        <item name="android:dropDownVerticalOffset">50dip</item>
    </style>

</resources>

两个属性都没有改变。

我也尝试过在支持库中查找它的工作方式,但找不到它。

问题

如何使溢出操作项目的弹出菜单避免隐藏其他项目?

android android-actionbar android-5.0-lollipop material-design android-toolbar
1个回答
20
投票

如果使用ActionBarActivity,则需要覆盖溢出菜单样式的appcompat版本以及弹出属性的appcompat版本,如果适用。

© www.soinside.com 2019 - 2024. All rights reserved.