我有一个带有简单列表视图和上下文菜单的应用程序.
在 android 7之前,一切看起来都不错:
在 android 7之前,一切看起来都不错:
单击列表底部的项目时:
但机智android 7 ……
单击列表底部的项目时:
上下文菜单的位置是否有任何变化?
解决方法
我在某个地方找到了解决方案(不记得在哪里).
问题出在新的上下文菜单和Holo主题之间.
问题出在新的上下文菜单和Holo主题之间.
方案细节:
<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
这定义了我的所有应用程序样式,以及一个名为的空样式
<style name="AppTheme" parent="AppTheme.Common" />
我使用那个空样式作为默认的应用程序样式.这样,在版本> 24,app使用关于上下文菜单重叠锚点的这个额外项目来修复问题(将上下文菜单带到API 24之前的样子)