【问题标题】:Possible to hide option menu button on ICS?可以隐藏 ICS 上的选项菜单按钮吗?
【发布时间】:2011-12-22 08:56:54
【问题描述】:

我有一个使用android:minSdkVersion="7"android:targetSdkVersion="10" 的应用程序。是否可以隐藏 ICS(api 级别 14)屏幕上的选项菜单按钮?

有些活动可能会使用选项菜单,但不是全部。最好显示/隐藏选项菜单按钮,以便用户更直观地了解更多功能。

【问题讨论】:

    标签: android android-4.0-ice-cream-sandwich


    【解决方案1】:

    将 targetSdkVersion 增加到 11(甚至 15)怎么样?根据 Android CDD 切断旧版菜单按钮的版本是 > 10。

    【讨论】:

    • 将 targetSdkVersion 设置为 14 或更高会有所帮助(在 Galaxy Nexus 上测试,运行 4.0.4)。但是,将 targetSdkVersion 增加到 14 会导致查看动画时出现一些瑕疵(变得不那么流畅)。所以,不得不在我的项目中拒绝这个解决方案。
    【解决方案2】:

    如果是你的按钮那么你可以检查Android的版本并根据版本隐藏这个按钮(http://developer.android.com/reference/android/os/Build.VERSION.html

    【讨论】:

    • 这是system's option menu button。我问的是 ICS,因为这个按钮在早期版本中是硬件功能。
    • 我在某处读到您无法在 ICS 中隐藏带有按钮的面板。
    • 是的,确实如此。但是 Galaxy Nexus(运行 ICS)在主屏幕上隐藏了选项菜单按钮(并且仍然显示返回、主页、任务切换器)。所以我希望能够在没有用的时候自己隐藏它。
    【解决方案3】:

    onCreateOptionsMenu(Menu)返回false,它不会在ICS上显示菜单按钮。

    【讨论】:

    • 我现在试了一下。这个方法返回什么重要,但是 android:targetSdkVersion 影响它的显示与否。如果我不使用 targetSdkVersion,或者如果它设置为 13 或更低,无论如何都会显示系统菜单按钮。如果我将其设置为 14 或更高,无论如何它都会消失。我猜最后一位一定是bug。无论如何,我想将 targetSdkVersion 保持在 10,所以我最初的问题的答案可能是“不”。
    • 您是否正在打开和关闭许多项目?它只调用一次,因此如果您需要动态启用/禁用,则可以使用不同的方法。
    • 这是第一次创建活动。它在一个我不想让菜单按钮可见的活动中,因为它没有给用户任何选项。
    • 这并不可靠,唯一可靠的方法是将目标 SDK 版本设置为 11 或更高版本。
    • 如果将 targetSDKVersion 设置为 14 则有效。请参阅 android-developers.blogspot.de/2012/01/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-21
    相关资源
    最近更新 更多