我正在挠头寻找在android中实现动态滑动/扩展菜单(虽然不确定名称是否正确)的正确方法。
一张图片显示了我想要实现的目标:
(来源:teneusdigital.com)
在图片中你可以看到后面的 ipad 版本有一个可扩展的菜单。当您单击根菜单中的某个项目时,它会自动向右扩展,显示子菜单项。这对于每个子菜单都是可重复的:每次新的子菜单出现在右侧。
现在,我正在为平板电脑和手机设计这个应用程序。所以想法是,在平板电脑上,菜单会向右扩展,填满可用的屏幕空间,但在手机上,当前显示的菜单(ListView)应该被点击的子菜单列表替换。
我开始使用片段和 ListFragment 没有成功......我猜片段是要走的路(但我可能是错的),因为布局完全不同,具体取决于屏幕大小。
对于平板电脑版本:我的想法是首先将根菜单显示为第一个 ListFragment,然后当单击一个项目时,创建一个新的 Fragment 并滑动到第一个的右侧。那行得通吗?你会怎么做?
对于手机(mdpi)版本:当前显示的菜单片段总是被子菜单片段替换......我想片段交易很容易。
现在我问自己的另一个问题是如何在同一个活动中实现它?我是否需要检测屏幕分辨率来管理不同的 FragmentTransaction 类型,这取决于我们是否必须扩展菜单或替换当前可见的菜单?如何以有效的方式做到这一点?
非常感谢您的所有想法和评论。