openOptionsMenu不适用于带有minSdkVersion 16的Lollipop平板电脑

时间:2017-03-20 21:17:04

标签: android android-5.0-lollipop tablet android-optionsmenu

我搜索过Stack Overflow但没有关于完全相同问题的链接。

我正在处理的应用是一款传统应用。 此应用程序必须打开图像图标的选项菜单。 该应用程序不使用操作栏。 这个功能在各种设备上运行良好,直到我将它的minSdkVersion提升到16格式8。 由于我将minSdkVersion提高到16,因此选项菜单无法在Lollipop平板电脑上打开。它在Lollipop智能手机上运行良好。

这是什么问题?有没有解决方法?

1 个答案:

答案 0 :(得分:2)

始终为您的项目定义了targetSdkVersion。这告诉Android"嘿,当我编写这段代码时我正在考虑这个API级别"。 Android将使用它来选择性地向前兼容,改变新设备上的运行时行为,使其更接近你当时的想法。

平板电脑从未真正使用过选项菜单;从Android 3.0开始,之前的选项菜单已迁移到操作栏。如果没有targetSdkVersion,显然Android会将minSdkVersion视为targetSdkVersion。而且,当minSdkVersion / targetSdkVersion为16时,您就会坚定地进入行动吧世界。

targetSdkVersion设置为8应该会恢复minSdkVersion跳转到16时所应用的任何更改。

然而,最终会有一些事情迫使你的手将targetSdkVersion提高到更高的值。不要以为你将永远坚持targetSdkVersion 8。之一:

  • 将您的用户迁移到操作栏,或
  • 实施您自己的选项菜单,或者
  • 计划使用现代实施方案完全替换应用程序,或
  • 计划放弃该应用