Flutter:如何在包含其他类型小部件的 ListView.builder 末尾添加按钮小部件?

2023-12-26

我正在尝试构建小部件的水平滑块(ListView),并想在 ListView 的末尾添加一个按钮(以便您可以添加另一张卡)。到目前为止,如果我尝试通过从中提取以生成 ListView.builder 的小部件列表来添加它,它不允许我,因为该小部件与我指定要关闭的列表的小部件不同。

我不知道如何以另一种方式将其添加到列表末尾。我已经能够将它放在列表旁边,但这会占用不应该占用的屏幕空间,因为所需的效果应该是它添加在 ListView 的末尾,而不是旁边。

这是代码:

Column(
      children: <Widget>[
        Expanded(
          flex: 20,
          child: Column(
            children: <Widget>[
              Padding(
                padding:
                    const EdgeInsets.only(left: 20, top: 10, bottom: 10),
                child: Align(
                  alignment: Alignment.topLeft,
                  child: Text(
                    'Buildings',
                    style: TextStyle(
                        color: Colors.white,
                        fontSize: 30,
                        fontFamily: 'Montserrat',
                        fontWeight: FontWeight.w300),
                  ),
                ),
              ),
              Expanded(
                child: Padding(
                  padding: const EdgeInsets.symmetric(horizontal: 20),
                  child: SearchBar(),
                ),
              ),
            ],
          ),
        ),
        Expanded(
          flex: 30,
          child: Row(
            children: <Widget>[
              Expanded(
                child: Consumer<BuildingData>(
                  builder: (context, buildingData, child) {
                    return ListView.builder(
                      scrollDirection: Axis.horizontal,
                      itemBuilder: (context, index) {
                        final building = buildingData.buildingInputs[index];
                        return BuildingCard(
                          buildingName: building.buildingName,
                        );
                      },
                      itemCount: buildingData.buildingCount,
                    );
                  },
                ),
              ),
              AddBuildingButton(
                onPressed: () {
                  print('success');
                },
              ),
            ],
          ),
        ),
        Expanded(
          flex: 50,
          child: Container(
            padding: EdgeInsets.only(top: 30, left: 30, right: 30),
            decoration: BoxDecoration(
              color: Color(0xff2e3032),
              borderRadius: BorderRadius.only(
                topLeft: Radius.circular(50),
                topRight: Radius.circular(50),
              ),
            ),
          ),
        )
      ],
    ),

只需按如下方式更改您的代码,

               return ListView.builder(
                      scrollDirection: Axis.horizontal,
                      itemBuilder: (context, index) {
                        // checking if the index item is the last item of the list or not
                        if (index == buildingData.buildingCount){
                           return Your_New_Card_Widget();
                        }

                        final building = buildingData.buildingInputs[index];
                        
                        return BuildingCard(
                        buildingName: building.buildingName,
                        );
                      },
                      itemCount: buildingData.buildingCount+1,
                    );

“Your_New_Card_Widget”是您想要在列表中添加新产品的小部件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flutter:如何在包含其他类型小部件的 ListView.builder 末尾添加按钮小部件? 的相关文章

  • 未为“AudioCache”类型定义“play”方法

    问题 未为 AudioCache 类型定义 play 方法 导入 包 flutter material dart 导入 包 audioplayers src audio cache dart void main runApp Xylopho
  • 删除 android ListView 的底部分隔线

    我有固定的高度ListView 它在列表项之间有分隔线 但它还在最后一个列表项之后显示分隔线 有没有办法在最后一项之后不显示分隔线ListView 只需添加android footerDividersEnabled false 到您的 Li
  • 按下时设置 ListView 选择器颜色时出现问题

    我有以下 ListView 并且遵循了这个 SO Question 的答案 但没有运气 Android ListView 选择器颜色 https stackoverflow com questions 2038040 android lis
  • 对于哪些 flutter 小部件我们需要使用 const?

    我了解的好处const并且小部件不会在状态更改时重建 但当您看到下面的代码时 仍然很明显它们是常量 我希望 flutter 自动处理它 或者 flutter 已经在处理它而我却没有意识到 This makes sense to me but
  • Flutter:未捕获的 ReferenceError:firebase 未定义

    我在 Flutter Web 应用程序中使用 Firebase 服务 但在加载 Firebase 脚本时遇到问题 当我使用扑动时运行 d chrome我看到有错误的空白页面 重新加载页面后加载正常 当我进行 flutter build we
  • 如何正确绑定和更新 Xamarin.Forms ListView?

    使用 MVVM 模式 我有一个模型 ViewModel 和视图 其中包含一个 ListView ListView 绑定到 ViewModel 的成员 该成员是 Model 类的 ObservableCollection 我可以使初始显示的绑
  • getView 中的位置索引始终返回 0

    我想实现一个 ListView 其中每行内都有删除按钮 我唯一的问题是 当我单击某些行的 删除 Btn 时 位置 0 的行刚刚被删除 我认为 getView 中的 Position 参数无法更新并且始终为 0 值 我应该怎么办 Thanks
  • 遵循最佳实践在 flutter 中存储 API 密钥的正确方法

    这是在 flutter 中添加秘密 API 密钥的正确方法 最佳实践 以防我想将代码推送到 github 上 我制作了一个使用 API 的简单应用程序 但我以粗略的方式使用密钥只是为了测试该应用程序是否正常工作 通常根据我在后端开发应用程序
  • 尝试将 Flutter 应用上传到 ItunesConnect 时出现 UIWebView 错误

    我正在尝试将我的应用程序上传到应用程序商店 但是我不断收到错误消息 表明我的应用程序存在此问题 ITMS 90809 已弃用的 API 使用 不再接受使用 UIWebView 的新应用程序 相反 使用 WKWebView 可以提高安全性和可
  • 创建后如何更新使用 AlertDialog.builder 构建的 AlertDialog 列表中的项目数组

    我使用 AlertDialog builder 创建了一个对话框 显示可以检查的多项选择列表 我设置了初始的项目名称集及其检查状态 builder setMultiChoiceItems saveTargets names saveTarg
  • Android - 如何在 ListView 的背景上显示垂直线(并根据行高)?

    如何在背景上显示一条垂直线 如下图蓝色突出显示的那条 在此示例中 我有一个带有 ImageView 元素的 ListView 和 TextView 但它与线条无关 并且我希望这些项目的背景上有一条垂直线 让人感觉它们与每个项目 连接 另请注
  • MappedListIterable 不是子类型

    我是 flutter 和 dart 的新手 并尝试从 firestore 作为流获取数据并将其提供给我的 ListView 但我不断收到此错误 type MappedListIterable
  • 如何在列表视图中滚动添加更多项目?

    这里的代码当前加载了存储在 Firestore 集合中的所有啤酒 我如何最初只加载 10 个啤酒 然后当用户向下滚动并到达 10 个啤酒列表的末尾时 它应该加载最后一次酿造后还有 10 杯 并且酿造应根据时间戳进行排序 class Brew
  • 颤振动态形式无法正常工作

    在我的应用程序中 我想创建一组动态表单 用户可以在其中添加更多项目 在这种动态形式中 它由两个文本字段 1 电话字段 2 电子邮件字段和一个下拉字段组成 但我尝试的任何事情都无法正常工作 我已经要求修复我的代码 但没有得到答复 堆栈溢出问题
  • 带有 Firebase 通知的 Flutter Web - subscribeToTopic

    我想在我的 flutter web 应用程序中接收 firebase 通知 我知道 firebase messaging 包不可用于网络 但我已经管理配置我的应用程序以获取令牌 在网络应用程序位于后台时接收并显示消息 并在应用程序位于前台时
  • 在 Flutter 中使用 Expansion Tile 和 ListView

    我正在尝试从此构建应用程序image https i stack imgur com gJNkO png 但是当我将 ListView 与此扩展图块放在同一页面中时 屏幕变为空 I added shrinkwrap true并工作了 但现在
  • Flutter:构造函数中 List 参数的默认分配

    在定义构造函数时 是否可以将常量值分配给数据类型 List 的可选参数 例如 class sample final int x final List
  • 如何在颤动中从图像选择器中裁剪图像?

    我想允许用户裁剪他从图像选择器中选择的图像并保存它 类似于在 Whatsapp 上上传个人资料图片 我怎样才能在颤振中做到这一点 示例图片 您可以使用这2个flutter库来实现这一点 图像选择器 图像裁剪器 图像选择器使用iOS和Andr
  • Flutter 使用 RichText 填空

    我几乎完成了我的应用程序的填空实现 但不幸的是我不断遇到布局问题 然而 当我不断解决问题时 我几乎已经完成了 这是到目前为止的代码 RichText text TextSpan text dummy style TextStyle colo
  • AppLifeCycleState.detached 未被调用

    import package flutter material dart void main gt runApp MyApp class MyApp extends StatelessWidget override Widget build

随机推荐

  • sql查询在多个列上不同

    我有这些数据 我正在尝试查找字段 1 2 3 4 中有不同 id 但有重复数据的情况 id field1 field2 field3 field4 1 A B C D 2 A B C D 3 A A C B 4 A A C B 所以 在这种
  • Angularjs 列表项边距问题将 ng-repeat 元素与静态元素相结合

    我想通过将存储在数组中的一些元素与一些将直接插入 html 中的静态元素分组来创建一个水平列表 像这样的事情 div class list container push down ul li Home li li i label li li
  • “datetime.time”没有“mktime”

    我正在尝试将日期时间对象转换为 UNIX 时间戳 最好以毫秒为单位 尽管我不介意有或没有 Mktime 似乎是通常获取它的方法 但是我不断收到错误 AttributeError 类型对象 datetime time 没有属性 mktime
  • pyqt从线程发出信号

    我正在尝试从多个线程更新 pyqt QProgressBar 据我了解 执行此操作的最佳方法是将信号发送回主 GUI 线程 我尝试将 QProgressBar 对象传递给工作线程 尽管它看起来确实如此 工作时我在口译员中收到了大量警告 在下
  • 在 Tensorflow 中将张量转换为 numpy 数组?

    使用带有 Python 绑定的 Tensorflow 时如何将张量转换为 numpy 数组 TensorFlow 2 x 热切执行 https www tensorflow org guide eager默认情况下是启用的 所以只需调用 n
  • 用于自定义 URL 的自定义 Pinterest 按钮(文本链接、图像或两者)

    我试图找到解决方案 但找不到 我需要 Pinterest 固定 按钮的自定义图像 并通过 url 固定一些自定义图像 但不是当前页面 我创建了一个自定义链接 a href class pinitbutton Pin It a 在样式中我设置
  • Liburl 未更新

    我使用的是 Ubuntu 14 04 需要curl 版本 gt 7 40 因此我按照一些步骤安装了最新的curl 版本 7 48 As root wget http curl haxx se download curl 7 48 0 tar
  • 调整窗口大小事件

    我正在创建一个简单的操作系统应用程序 但我无法在任何地方找到如何进行调整大小事件 假设我想打印新的宽度和高度并且我有这个控制器 class ViewController NSViewController override func view
  • gmock 可以用于存根 C 函数吗?

    我是 gmock 的新手 所以我想知道如何对在测试中的函数中调用的简单 C 函数进行存根以进行单元测试 Example int func int a boolean find Some code find func 1 return fin
  • 为什么我的应用程序因“多任务应用程序只能使用后台”而被拒绝?

    我通过设置闹钟并观看视频在后台测试了我的应用程序 当我观看视频时 我的闹钟正确响起 即使我从后台删除我的应用程序 警报仍然响起 现在我想知道我是否正确理解了苹果的回复 任何人都可以解码回复吗 我们发现您的应用程序使用后台模式但不包括 需要该
  • 将属性文件包含在 Jar 文件中

    我写了一个小应用程序 我已将数据库特定信息放入属性文件中 db url jdbc mysql localhost 3306 librarydb db user root db passwd pas w0rd 当我构建应用程序以获取可执行 j
  • Powershell:冻结 GUI

    只是快一点 我创建的一个简单工具有一个问题 该工具通过一个小框获取一段时间内的 CPU 使用情况 该小框似乎显示正在使用的 CPU 百分比 我已经删除了下面代码的 GUI function loop get read host for st
  • 在opencv c++上检测运动(移动相机)

    我正在为大学做一个项目 并且正在使用 OpenCV 这真的很棒 现在我的问题是 我有一个视频 avi 并且已检测到我想了解的有关突然出现在红色和黄色之间的 RGB 范围内的斑点的所有信息 在我实现了一个保存有关像素值的所有信息的矩阵之后 最
  • SIMD:位包有符号整数

    可以使用 位打包 技术来压缩无符号整数 在无符号整数块中 仅存储有效位 从而当块中的所有整数都 小 时进行数据压缩 该方法被称为FOR https www elastic co blog frame of reference and roa
  • 无符号短和有符号短比较奇怪的行为

    当我将相同的值分配给有符号和无符号时short并进行比较 它失败了 但它可以与int 除非我将其中之一强制转换为相同类型 否则比较不起作用 include
  • 将函数作为参数传递

    我编写了函数 A 它将调用许多其他函数之一 为了节省重写函数 A 我想将要调用的函数作为函数 A 的参数传递 例如 function A Param functionToCall Write Host I m calling functio
  • android.graphics.Canvas 中使用的算法

    我想找出什么绘图算法android graphics Canvas http developer android com reference android graphics Canvas html正在使用 特别是对于drawLine an
  • 如何使用java将UTF16(表情符号)转换为HTML实体(十六进制)

    How to convert UTF16 emoji to HTML Entity hex using java I have the string from DB like this uD83D uDE02 I try to displa
  • Julia:相异矩阵计算的高效并行化

    Julia 语言通过 pmat 和 parallel 等方法支持并行化 我正在尝试计算一组数据的相异矩阵 n length dataset mat zeros n n for i 1 n for j i 1 n mat i j mat j
  • Flutter:如何在包含其他类型小部件的 ListView.builder 末尾添加按钮小部件?

    我正在尝试构建小部件的水平滑块 ListView 并想在 ListView 的末尾添加一个按钮 以便您可以添加另一张卡 到目前为止 如果我尝试通过从中提取以生成 ListView builder 的小部件列表来添加它 它不允许我 因为该小部