new Expanded(

        child: _searchResult.length != 0 || controller.text.isNotEmpty
            ? new ListView.builder(
                itemCount: _searchResult.length,
                itemBuilder: (context, int i) {

                  return new Card(

                      child: new Column(
                          mainAxisSize: MainAxisSize.min,
                          children: <Widget>[
                        new Row(children: <Widget>[
                          //new GestureDetector(),

                          new Container(

                              width: 45.0,
                              height: 45.0,
                              decoration: new BoxDecoration(
                                  shape: BoxShape.circle,
                                  image: new DecorationImage(
                                      fit: BoxFit.fill,
                                      image: new NetworkImage(
                                          "https://raw.githubusercontent.com/flutter/website/master/_includes/code/layout/lakes/images/lake.jpg")))),
                          new Text(
                              " " +
                                  userDetails[returnTicketDetails[i]
                                      ["user_id"]]["first_name"] +
                                  " " +
                                  (userDetails[returnTicketDetails[i]
                                      ["user_id"]]["last_name"]),
                              style: const TextStyle(
                                  fontFamily: 'Poppins', fontSize: 20.0)),
                        ]),
                        new Column(
                          children: <Widget>[
                            new Align(
                                alignment: FractionalOffset.topRight,
                                child: new FloatingActionButton(
                                  onPressed: () {

                                    groupId = returnTicketDetails[i]["id"];

                                    print(returnTicketDetails[i]["id"]);
                                    print(widget.id);

                                    Navigator.push(
                                        context,
                                        new MaterialPageRoute(
                                            builder: (context) => new Tickets(groupId,widget.id)));

                                  },
                                  heroTag: null,
                                  backgroundColor: Color(0xFF53DD6C),
                                  child: new Icon(Icons.arrow_forward),
                                )),
                            new Padding(padding: new EdgeInsets.all(3.0)),
                          ],
                        )
                      ]));
                },
              )
            : new ListView.builder(
                itemCount: _searchResult.length,
                itemBuilder: (context, int i) {
                  return new Card(
                    child: new ListTile(
                        //title: new Text(userDetails[returnTicketDetails[i]["user_id"]]["first_name"]),
                        ),
                    margin: const EdgeInsets.all(0.0),
                  );
                },
              ),
      ),

大家好!当我在ListView中动态构建一个Card时,我想不是像我已经做的那样在每个卡中保留FloatingActionButton,而是在每个卡中实现一个ONTAP方法并触发一些东西. 换句话说,我想让卡片尽可能简单,没有太多的小部件. 提前谢谢您!

推荐答案

由于Card是"一张material ",你可能想使用InkWell,其中包括Material个高光和飞溅效果,基于最接近的Material个祖先.

return Card(
  child: InkWell(
    onTap: () {
        // Function is executed on tap.
    },
    child: ..,
  ),
);

Dart相关问答推荐

在异步方法中,有没有更优雅的方式在DART中等待!=NULL?

将Card添加到 ListView

创建默认应用时 FirebaseOptions 不能为空

什么用例有 FirebaseUser 的 reload() 功能?

Flutter ButtonRow 填充

从列表中删除项目后更新 UI

错误:非抽象类InternalSelectableMathState

如何在仍然引用来自 pub.dartlang.org 的包的同时运行私有 pub 服务器?

Flutter:并非所有本地化代表都支持应用程序的语言环境

摆动中的可滚动导轨

如何在 Flutter 中让 Android 状态栏变亮

从Dart中的另一个文件导入扩展名方法

Flutter/Dart Uri 没有在 URL 中转义冒号:

扩展一个只有一个工厂构造函数的类

您可以将命名参数与简写构造函数参数结合起来吗?

为什么不推荐使用 context2d.backingStorePixelRatio?

Dart:如何在异步函数中管理并发

Dart 的Expando功能是什么,它有什么作用?

导出两个具有相同类名的库

如何在 Dart 中运行重复出现的函数?