有没有办法在Flutter中创建嵌套抽屉?

时间:2019-04-26 02:23:41

标签: android flutter material-design

尝试使用Flutter并寻找向用户显示当前导航堆栈的方法,并允许他们快速跳转到当前堆栈中的任意点。

我目前的处理方法是显示一系列嵌套的抽屉。

因此,一个用例可能是,初始抽屉显示了一个大陆列表,用户在欧洲点击,另一个抽屉从大陆抽屉下方滑出以显示国家列表,然后可能是另一个抽屉,之后显示了州/省。等

因此它看起来应该类似于以下内容: enter image description here

我目前仍在研究如何使用抽屉实现此功能。抽屉甚至是最好的方法吗?可能将抽屉作为孩子管理成排?

或者也许我应该考虑通过控制一堆可交互的ListView的显示方式或类似的方式滚动自己的实现。

1 个答案:

答案 0 :(得分:0)

我认为这实际上是不可能的,并且在UI中看起来可能不太好。

Flutter Drawer文档说:

  

抽屉通常与Scaffold.drawer属性一起使用。

Scaffold.drawer属性仅接受1个Widget

  

抽屉→小工具

     

显示在身体侧面的面板,通常隐藏在移动设备上。从左向右滑动(TextDirection.ltr)或从右向左滑动(TextDirection.rtl)[...]      最终

这意味着您只能在该属性中使用1 Drawer。而且Drawer类没有抽屉属性。

可能使用ExpansionPanelExpansionPanelList可以折叠和展开其余选项。使您更接近所需的功能。

还有一个expandable 2.1.1插件,内容为:

  

Expandable不应与ExpansionPanel混淆。 ExpansionPanel是Flutter材质库的一部分,仅可在ExpansionPanelList内使用,不能用于制作其他小部件,例如可扩展Card部件。

为您提供更多使用不同Widgets的自由度。