【问题标题】:Is it possible to force use of overflow menu to the right of software button?是否可以强制使用软件按钮右侧的溢出菜单?
【发布时间】:2013-04-10 21:22:22
【问题描述】:

我有一个带有许多选项和菜单的操作栏。 在没有菜单按钮的设备上,溢出菜单会添加到我的操作栏中。

我想在软件按钮的右侧添加这个溢出菜单按钮,就像没有操作栏的应用程序一样,像这样:

有没有可能,如果可能的话,怎么做?

【问题讨论】:

    标签: android menu android-actionbar android-menu


    【解决方案1】:

    有没有可能

    是的,如果您不介意您的应用看起来不再维护它,从而减少您的潜在用户群。

    请阅读Say Goodbye to the Menu Button,尤其是这段话:

    但是,此按钮无法提供理想的用户体验。事实上,在不使用选项菜单的应用程序中,此操作溢出按钮什么也不做,并且会造成用户混淆。因此,在 Android 3.0+ 上运行时,您应该更新旧版应用程序以删除导航栏中的操作溢出,并在必要时开始使用操作栏。您可以这样做,同时保持与您的应用当前支持的设备向后兼容。

    因此,有才华的开发人员正试图避免将这种可供性放在系统/导航栏中,而不是添加这种可供性。

    如何做到这一点?

    将您的 android:targetSdkVersion 和您的 android:minSdkVersion 设置为小于 11 的值。

    【讨论】:

    • 我错了还是这不可能了?我按照你说的做,但我的平板电脑上没有出现菜单图标(没有菜单硬件按钮)
    • @ernestocattaneo:AFAIK,为了向后兼容,“耻辱菜单按钮”应该仍然可用。
    • 它似乎不再工作了..stackoverflow.com/questions/28367271/…
    • @ernestocattaneo: 你的minSdkVersion 是16。16 高于11。你的targetSdkVersion 你的minSdkVersion 必须低于11,你可以见我回答的最后一段。
    • 谢谢你说清楚。但是……我该怎么办?哈哈,我的意思是……如果运行我的应用程序的平板电脑没有菜单按钮……他将无法打开菜单……这到底是什么……
    【解决方案2】:

    如果您的 minSdkVersiontargetSdkVersion 小于 API 11,Android 会自动添加此按钮。唯一的例外是,如果您将 minSdkVersion 设置为 10 或更低,请将 targetSdkVersion 设置为 11、12、或 13,并且您不使用 ActionBar,在 Android 4.0 或更高版本的手机上运行您的应用时,系统会添加旧版溢出按钮。

    如果您的 targetSdkVersion 和/或 minimumSdkVersion 达到或超过 API 11,则无法使用此按钮。

    【讨论】:

    • 我会更感兴趣这是怎么发生的,系统做了什么改变来添加溢出菜单。在我的 minSdkVersion 设置为 10 或更低,并且 targetSdkVersion 设置为 11、12 或 13 的特殊情况下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    • 1970-01-01
    相关资源
    最近更新 更多