【问题标题】:Flutter aggregate / add new item to an item list in PopupMenuButton颤振聚合/将新项目添加到 PopupMenuButton 中的项目列表
【发布时间】:2021-10-14 08:17:39
【问题描述】:

我在聊天应用程序中使用PopupMenuButton。我想通过点击更多选项来更改我的项目列表(与 Whatsapp 相同)。

Whatsapp 似乎只是关闭了PopupMenuButton 小部件并打开了一个新小部件。

如何关闭当前的PopupMenuButton 并在点击项目时打开一个新的?

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    试试下面的代码希望它对你有帮助。我认为您在设计中使用了 ExpansionTile 小部件,请参阅文档here

    您的小部件:

       showDialog(
                          context: context,
                          builder: (context) {
                            return AlertDialog(
                              title: Text(
                                'Choose Option',
                              ),
                              content: SingleChildScrollView(
                                child: Column(
                                  crossAxisAlignment: CrossAxisAlignment.start,
                                  children: [
                                    ListTile(
                                      title: Text('Your Text'),
                                    ),
                                    ListTile(
                                      title: Text('Your Text'),
                                    ),
                                    ListTile(
                                      title: Text('Your Text'),
                                    ),
                                    ExpansionTile(
                                      title: Text('ExpansionTile'),
                                      children: <Widget>[
                                        ListTile(
                                          title: Text('This is tile number 1'),
                                        ),
                                        ListTile(
                                          title: Text('This is tile number 2'),
                                        ),
                                        ListTile(
                                          title: Text('This is tile number 3'),
                                        ),
                                        ListTile(
                                          title: Text('This is tile number 4'),
                                        ),
                                        ListTile(
                                          title: Text('This is tile number 5'),
                                        ),
                                      ],
                                    ),
                                  ],
                                ),
                              ),
                            );
                          },
                        );
    

    您的结果屏幕 简单内容 ->

    点击展开图块时的结果屏幕 ->

    【讨论】:

    • 这确实解决了我的问题(因为我没有使用很多项目),但它仍然不像 Whatsapp UX 那样完美。仍在寻找类似 Whatsapp 的解决方案。
    猜你喜欢
    • 2019-08-19
    • 2020-05-25
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    • 2013-05-30
    相关资源
    最近更新 更多