9

我目前正在将 iPhone 应用程序移植到 Android 中。iPhone 应用程序在屏幕底部有一个自定义全局导航菜单,当把它带到 Android 时,建议用通用选项菜单(通过设备上的选项键调用)替换这个自定义菜单以提供它更原生的 Android 外观和感觉。

问题是菜单本身有几个层次(例如,三个主要选项,如 A、B、C,和子选项,如 A1、A2、A3)。我环顾四周,但没有在 Android 应用程序上看到这种多级选项菜单,所以我正在寻找一些关于如何最好地实现这一点的指南。

我已经看到了一些关于自定义选项菜单的问题,例如这个;Android:自定义应用程序的菜单(例如背景颜色);他们似乎暗示本机框架不支持很多选项。

我应该考虑对选项菜单进行一些修改(这是个好主意吗?),还是查看其他一些修改应用程序流程的方法?试图了解什么是在 Android 上保持一致的用户体验的最佳方式,同时减少 iPhone 应用程序的变化程度。

谢谢!

4

4 回答 4

9

我环顾四周,但没有在 Android 应用程序上看到这种多级选项菜单,所以我正在寻找一些关于如何最好地实现这一点的指南。

选项菜单支持子菜单,但只有一层深(即菜单可以有子菜单,但子菜单不能有子子菜单)。

于 2011-09-14T12:28:08.160 回答
1

如果您真的需要它(并且想要违反有关菜单深度的 Android 平台标准),那么您可以通过使用AlertDialog轻松实现此功能,其中包含菜单每个嵌套级别的列表。在视觉上,这些看起来与选项菜单完全相同。

于 2012-05-30T20:22:07.867 回答
1

我做了类似于香蕉建议的事情。我只想添加限制背后的原因是需要支持的无数数量或设备和屏幕分辨率。多个嵌套菜单在平板电脑上可能看起来不错,但在 5 英寸屏幕上却不行,因此我们需要牢记这一点。

于 2012-09-14T17:00:07.233 回答
0

对我来说,添加

android:onClick="onOptionsItemSelected"

嵌套菜单项工作。

于 2015-07-09T14:08:07.770 回答