我有一个带有简单列表视图和上下文菜单的应用程序。 在Android 7之前,一切看起来都不错:
单击列表底部的项目时 单击列表顶部的项目时但是机智的android 7 ...
单击列表底部的项目时 单击列表顶部的项目时上下文菜单的位置是否有任何变化?
答案 0 :(得分:11)
我在某个地方找到了解决方案(不记得在哪里)。 问题出在新的上下文菜单和Holo主题之间。
解决方案详情:
我在values-v24文件夹中添加了一个样式,如下所示:
<resources>
<style name="ContextPopupMenuStyleLight" parent="@android:style/Widget.Holo.Light.PopupMenu">
<item name="android:overlapAnchor">true</item>
</style>
<style name="ContextPopupMenuStyleDark" parent="@android:style/Widget.Holo.PopupMenu">
<item name="android:overlapAnchor">true</item>
</style>
<style name="AppTheme" parent="AppTheme.Common" >
<item name="android:contextPopupMenuStyle">@style/ContextPopupMenuStyleLight</item>
</style>
然后,在我的默认styles.xml中,我使用了一种名为
的样式AppTheme.Common
它定义了我的所有app风格,以及一个名为
的空样式<style name="AppTheme" parent="AppTheme.Common" />
我将该空样式用作默认的应用程序样式。 这样,在版本&gt; 24,app使用关于上下文菜单重叠锚点的这个额外项目来修复问题(将上下文菜单带到API 24之前的样子)
答案 1 :(得分:2)
如果仍然有同样的问题, 只需将其添加到您的主题文件夹(v14)
<item name="android:overlapAnchor">true</item>