在Android上实现多级选项菜单的最佳实践是什么?

9
我目前正在将一个iPhone应用程序移植到Android平台。iPhone应用程序在屏幕底部有一个自定义的全局导航菜单,当将其移植到Android时,建议使用通用的选项菜单(通过设备上的选项键调用)来替换此自定义菜单,以使其具有更本地的Android外观和感觉。
问题在于菜单本身有几个层次(例如三个主要选项A、B、C和子选项A1、A2、A3)。我查看了一些Android应用程序中的多级选项菜单,但并没有看到这种类型的菜单,因此正在寻求一些关于如何最好实现它的指南。
我看到了一些关于自定义选项菜单的问题,比如这个问题;Android: customize application's menu (e.g background color);他们似乎暗示原生框架并不支持很多选项。
我应该考虑对选项菜单进行一些修改(这是一个好主意吗?),还是考虑其他修改应用程序流程的方法?试图了解在Android上保持一致的用户体验的最佳方式,同时减少与iPhone应用程序的差异程度。
谢谢!

http://developer.android.com/guide/topics/ui/menus.html - Basic Coder
4个回答

9
我看了一下Android应用程序,没有看到这种多级选项菜单,因此正在寻找最佳实现方法的指南。
选项菜单支持子菜单,但只支持一层嵌套(即菜单可以有子菜单,但子菜单不能再有子菜单)。具体可参见选项菜单官方文档

1
我已经做了类似于banana建议的事情。我只想补充一下限制背后的原因是需要支持多种设备和屏幕分辨率。多个嵌套菜单在平板电脑上可能看起来很好,但在5英寸的屏幕上就不行了,所以我们需要记住这一点。

1

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


0

对我来说,添加

android:onClick="onOptionsItemSelected"

嵌套菜单项已经生效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接