【问题标题】:How to create an Accordion Menu?如何创建手风琴菜单?
【发布时间】:2023-06-10 16:43:01
【问题描述】:

我想创建这样的菜单。点击任何项目,它将打开项目子菜单

【问题讨论】:

  • 这种UI交互在Android和iOS平台上都不常见。如果您想坚持设计指南,最好使用可扩展的列表视图或向下钻取到单独的屏幕来处理此类菜单。

标签: java android


【解决方案1】:

我认为不存在允许您执行此操作的库。 (我可能错了)。

但在我看来,实现这一目标的最佳方法是使用两个相邻的 tableView,并在第一个 tableView 的 didSelectRow 上更新第二个 tableView 的数据。您可能会处理一些复杂的问题,但这是可以实现的。

如果您的菜单中只有 2 级详细信息,您还可以使用一个 tableView,在节标题中显示第 1 级元素,并在第 2 级单击节标题时创建行(使用按钮或点击)元素。

编辑:

我的回答提到了一些 iOS 命名约定。因为它最初被要求用于带有标签 iOS 和 swift 的 iOS。我决定不改变原来的答案,因为实现这一点的核心概念在两个平台上应该是相似的。

无论如何,我认为你仍然可以为 android 做同样的事情,只需使用我提到 tableView 的列表视图

【讨论】:

  • 我已经完成的可扩展表视图,但我想要完全一样。谢谢
  • 在这种情况下,我建议您在第一个列表旁边放置一个列表视图,并在用户单击相关菜单项时更新其值。创建自己的东西总是比使用别人的库更好。