gpt4 book ai didi

android - 如何让溢出的弹出菜单避免遮挡操作栏?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:22:48 25 4
gpt4 key购买 nike

背景

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

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

问题

我试图通过覆盖溢出菜单的样式来避免这个问题,但没有任何帮助。

不仅如此,似乎这是an intentional behavior ,但是在许多更新为具有 Material Design 的 Google 应用程序中,这种行为并不成立,正如我所报告的那样 here .

我尝试过的

我已经尝试在我使用的主题中创建它。实际上我的主题非常不同,它的父主题是“Theme.AppCompat.Light.NoActionBar”(我使用工具栏作为操作栏),但是这个 fragment 也有这个问题,所以我认为如果一个能解决另一个会也是。

无论如何,这是 fragment :

<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 版本(如果适用)。

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

<style name="AppTheme" parent="AppBaseTheme">
<item name="actionOverflowMenuStyle">@style/OverflowMenu</item>
</style>

<style name="OverflowMenu" parent="Widget.AppCompat.PopupMenu.Overflow">
<!-- Required for pre-Lollipop. -->
<item name="overlapAnchor">false</item>

<!-- Required for Lollipop. -->
<item name="android:overlapAnchor">false</item>
</style>

</resources>

关于android - 如何让溢出的弹出菜单避免遮挡操作栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27116325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com