在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>
两个属性都没有改变。
我也尝试过在支持库中查找它的工作方式,但找不到它。
如何使溢出操作项目的弹出菜单避免隐藏其他项目?
如果使用ActionBarActivity,则需要覆盖溢出菜单样式的appcompat版本以及弹出属性的appcompat版本,如果适用。