首页 > 解决方案 > Android.view.ContextMenu 显示太小而无法使用

问题描述

我正在尝试显示一个简单的上下文菜单(长按弹出的纯文本菜单,其中包含您长按的项目的选项)。大约 5 到 6 年前,当我第一次为我的公司编写这个应用程序时,它曾经工作过,但从那以后我们甚至没有看过它,现在我需要添加一个新功能,发现它不再工作了.

问题是菜单的高度受到父对象和屏幕顶部之间的垂直距离的限制。换句话说,上下文菜单的底部与创建它的 GUI 对象垂直对齐,并且只会向上而不是向下。如果创建菜单的对象位于屏幕底部附近,这可以正常工作,因为它上方有足够的空间,但如果它位于屏幕顶部,您最终会得到一个 10 像素高的“菜单”,并且您无法阅读任何内容。

在运行 Android 10.0 的 Google Pixel XL 上观察到了这种行为。我的项目针对的是 Android 9.0。

标签: androidandroid-studiocontextmenu

解决方案


默认上下文菜单位置在最新的 android 版本中发生了变化,所以现在它在点击点上方弹出。它会影响不知道更改的旧主题。

将此添加到您的样式自定义中应该会有所帮助。

 <item name="android:overlapAnchor">true</item> 

推荐阅读