我目前正在将一个iPhone应用程序的端口用于Android。 iPhone应用程序在屏幕底部有一个自定义的全局导航菜单,当把它带到Android时,建议用通用选项菜单(通过设备上的选项键调用)替换这个自定义菜单给它更原生的Android外观和感觉。
问题是菜单本身有几层(例如A,B,C三个主要选项,以及A1,A2,A3等子选项)。 我环顾四周,但没有在Android应用程序上看到这种多级选项菜单,所以我正在寻找一些关于如何最好地实现这一目标的指南。
我已经看到了一些关于自定义选项菜单的问题,比如这个; Android:自定义应用程序的菜单(例如背景颜色) ; 他们似乎暗示原生框架不支持很多选项。
我是否应该在选项菜单中查看一些黑客攻击(这是一个好主意吗?),或者查看其他一些修改应用程序流的方法? 试图了解在Android上保持一致用户体验的最佳方式,同时降低iPhone应用程序的变化程度。
谢谢!
我环顾四周,但没有在Android应用程序上看到这种多级选项菜单,所以我正在寻找一些关于如何最好地实现这一目标的指南。
选项菜单支持子菜单,但只有一级深度 (即菜单可以有子菜单,但子菜单不能有子菜单)。
如果您真的需要(并且想要违反有关菜单深度的Android平台标准),那么您可以通过使用AlertDialog以及菜单的每个嵌套级别的列表轻松实现此功能。 视觉上看起来与选项菜单完全相同。
我做了类似于香蕉建议的事情。 我只想添加限制背后的原因是需要支持的无数个数字或设备和屏幕分辨率。 多个嵌套菜单在平板电脑上可能看起来不错,但在5英寸屏幕上看起来不是很好,所以我们需要牢记这一点。
对我来说,补充一下
android:onClick="onOptionsItemSelected"
嵌套的菜单项工作。