listview - 在listView dart中添加动态图像

标签 listview flutter dart

我想使用DART语言创建一个与下图完全相同的水平列表视图。
第一项总是一个+图标。获取图像后,它将移动到第二个项目,依此类推。
添加图像之前
enter image description here
添加图像后
enter image description here
这是我试过的

  @override
  Widget build(BuildContext context) {
    Widget initialWidget = _buildRow();
    List<Widget> listWidgets = [initialWidget];
    return BaseBlocScaffoldWidget(
        baseBloc: _bloc,
        appBar: AppBar(
          title: Text('My App'),
          actions: <Widget>[
            IconButton(
              icon: Icon(Icons.done),
              onPressed: () => _bloc.submitSink.add(true),
            )
          ],
        ),
        body: SingleChildScrollView(
            padding: const EdgeInsets.all(16.0),
            child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: <Widget>[
                  Container(
                      width: 100.0,
                      color: const Color(0xFF00FF00),
                      padding: EdgeInsets.only(top: 15),
                      height: 100.0,
                      child: StreamBuilder<File>(
                        stream: _bloc.uploadImageStream,
                        builder: (context, snapshot) {
                          if (snapshot.hasData) {
                            var a = snapshot.data;
                            dtLst.add(a);
                            if (dtLst.length > 0) {
                              return ListView.builder(
                                  scrollDirection: Axis.horizontal,
                                  itemCount: dtLst.length,
                                  itemBuilder: (context, index) {
                                    return Image.file(dtLst[index]);
                                    //  listWidgets.insert(0, _buildRow())
                                    //  return listWidgets[index];
                                  });
                            }
                          } else {
                            return IconButton(
                              icon: Center(
                                child: Icon(
                                  Icons.camera,
                                  size: 30.0,
                                ),
                              ),
                              onPressed: () {
                                _bloc.getImage();

                              },
                            );
                          }
                        },
                      ))
                ])));
  }

  Widget _buildRow() {
    return IconButton(
      icon: Center(
        child: Icon(
          Icons.camera,
          size: 30.0,
        ),
      ),
      onPressed: () {
        _bloc.getImage();
      },
    );
  }

我的输出
以前
enter image description here

enter image description here
有人能帮忙吗?
感谢上帝保佑。

最佳答案

你所能做的就是通过在你的图标上添加一个属性来将小部件拉伸到最大,

Icon(
    Icons.camera,
    size: double.infinity,),

这对你有用。

关于listview - 在listView dart中添加动态图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57702901/

相关文章:

widget - 编写 rikulo 表小部件来处理大型数据集?

dart - 为什么建议将小部件中的最终变量用作公共(public)变量?

firebase - I/flutter(22027): MissingPluginException(No implementation found for method DocumentReference#setData on channel plugins. flutter.io/cloud_firestore)

java - android R.java : cannot resolve symbol in class id

android - 如何在 BaseAdapter 上实现 getFilter?

c# - 通过命令 (MVVM) 选择 ListView 中的所有项目

firebase - Flutter Firestore - 如何仅获取当月的数据?

listview - 导航后将滚动 Controller 动画化到 ListView.builder 的顶部

flutter - 显示水平滚动条抖动

android - 即使应用程序关闭,也在后台运行 Dart 和 Flutter 中的定期任务