【问题标题】:how to add PopupMenuButton inside card如何在卡片内添加 PopupMenuButton
【发布时间】:2020-07-25 06:05:42
【问题描述】:

我在这张卡里面有这张卡,我需要添加弹出菜单按钮。所以我尝试添加,但问题是它位于我想要的最左侧。

更新: 我试过这个来添加弹出菜单按钮,但它在我想要的最左边。

Card(
      elevation: 4,
      child: Padding(
        padding: EdgeInsets.only(left: 10.0, top: 10),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            new Row(
              children: <Widget>[
                Container(
                  width: 45,
                  height: 45,
                  decoration: BoxDecoration(
                    image: DecorationImage(
                      image: NetworkImage("Image here"),
                      fit: BoxFit.cover,
                    ),
                    borderRadius: BorderRadius.all(
                        Radius.circular(50.5)),
                  ),
                ),
                Padding(
                  padding: EdgeInsets.only(left: 15),
                  child: Text("Name here"),
                ),
                Expanded(
                  child: PopupMenuButton(
                    padding: EdgeInsets.only(left: 100),
                    elevation:3.2,
                    itemBuilder: (BuildContext context) {
                      return [
                        PopupMenuItem(
                          child: Container(
                            child: InkWell(
                              child: Text("Delete"),
                              onTap:()  {
                                print("deleted");
                              },
                            ),
                          ),
                        ),
                      ];
                    },
                  ),
                ),
              ],
            ),
            Padding(
              padding:
              EdgeInsets.only(left: 60, bottom: 10),
              child: Text("Date"),
            ),
            Flexible(
              child: Padding(
                padding:
                EdgeInsets.only(left: 75, right: 15),
                child: Text("Description"),
              ),
            ),
          ],
        ),
      ),
    );

谢谢

【问题讨论】:

  • 分享一段代码和一些你想要实现的草图
  • 更新了@LonelyWolf
  • 好......现在请画出想要的结果,因为我不太明白你的问题
  • 更新了@LonelyWolf

标签: flutter layout flutter-layout


【解决方案1】:

更改这部分代码

            Padding(
              padding: EdgeInsets.only(left: 15),
              child: Text("Name here"),
            ),
            Expanded(
              child: PopupMenuButton(
                padding: EdgeInsets.only(left: 100),
                elevation:3.2,
                itemBuilder: (BuildContext context) {
                  return [
                    PopupMenuItem(
                      child: Container(
                        child: InkWell(
                          child: Text("Delete"),
                          onTap:()  {
                            print("deleted");
                          },
                        ),
                      ),
                    ),

这个

           ...
            Expanded(
              child: Padding(
                padding: EdgeInsets.only(left: 15),
                child: Text("Name here"),
              ),
            ),
            PopupMenuButton(
              padding: EdgeInsets.only(left: 100),
              elevation: 3.2,
              itemBuilder: (BuildContext context) {
                return [
                  PopupMenuItem(
                    child: Container(
                      child: InkWell(
                        child: Text("Delete"),
                        onTap: () {
                          print("deleted");
                        },
                      ),
                    ),
                  ),
                 ...

换句话说,用扩展包装你的文本,并从弹出菜单中去掉扩展

结果

你问的是这个吗?

【讨论】:

  • 我不太明白。你修改了代码的哪一部分?
猜你喜欢
  • 1970-01-01
  • 2021-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-18
  • 2021-11-28
  • 2019-03-05
  • 1970-01-01
相关资源
最近更新 更多