android - Android.view.ContextMenu 显示太小而无法使用
问题描述
我正在尝试显示一个简单的上下文菜单(长按弹出的纯文本菜单,其中包含您长按的项目的选项)。大约 5 到 6 年前,当我第一次为我的公司编写这个应用程序时,它曾经工作过,但从那以后我们甚至没有看过它,现在我需要添加一个新功能,发现它不再工作了.
问题是菜单的高度受到父对象和屏幕顶部之间的垂直距离的限制。换句话说,上下文菜单的底部与创建它的 GUI 对象垂直对齐,并且只会向上而不是向下。如果创建菜单的对象位于屏幕底部附近,这可以正常工作,因为它上方有足够的空间,但如果它位于屏幕顶部,您最终会得到一个 10 像素高的“菜单”,并且您无法阅读任何内容。
在运行 Android 10.0 的 Google Pixel XL 上观察到了这种行为。我的项目针对的是 Android 9.0。
解决方案
默认上下文菜单位置在最新的 android 版本中发生了变化,所以现在它在点击点上方弹出。它会影响不知道更改的旧主题。
将此添加到您的样式自定义中应该会有所帮助。
<item name="android:overlapAnchor">true</item>
推荐阅读
- c# - 子密码方法上的 IndexOutofRange 异常
- javascript - 当服务器接收到数据时,我正在尝试使用 Angular 6 丢弃引导模式
- html - HTML5
- java - JTextPane 和撤消管理器样式更改
- d3.js - d3.js 绘图未显示在 R Shiny 绘图区域内
- oracle - oracle jdbc 驱动程序报告具有主键的表上没有主键列
- javascript - 如何使用 for 循环来控制台记录数组的每个项目?
- php - 如何将字符串日期“2 February 2019”更改为日期(Ymd)
- python - 牛顿求根法
- python - 如何将 JSON 文件导入 Pandas Dataframe