Android.view.ContextMenu 显示太小无法使用

Android.view.ContextMenu displays too small to use

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

问题是菜单的高度受限于父对象和屏幕顶部之间的垂直距离。换句话说,上下文菜单的底部与创建它的 GUI 对象垂直对齐,并且只会向上增长,不会向下。如果创建菜单的对象位于屏幕底部附近,则可以正常工作,因为它上方有足够的空间,但如果它位于屏幕顶部,您最终会得到一个 "menu",大约 10 像素高大上看不懂内容

此行为是在 Google Pixel XL 运行 Android 10.0 上观察到的。我的项目目标是 Android 9.0.

默认上下文菜单位置在最新的 android 版本中发生了变化,因此现在它会在点击点上方弹出。它会影响较旧的主题,但没有意识到变化。

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

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