我非常肯定这个问题已经被问过了,但我已经寻找了大约1个小时,仍然找不到答案.所以,如果你确实找到了相关的过go 的问题,请做链接.

我有一个CustomScrollView,用于创建无限垂直列表(无休止的滚动行为).

在这个CustomScrollView中,我有一个自定义的小部件卡,它可以动态加载,并且以无限的方式,我希望成为CustomScrollView在屏幕上的大小(不是屏幕的大小,见下面的图片,基本上我想要一种方法,在右边有白色箭头的大小).

图形表示:

enter image description here

我目前正在硬编码大小,但在我的实际使用中,上面的appbar的大小可以动态变化,所以这在future 是不可能的.

怎样才能为我的卡提供这种价值呢?

以下是目前为止我能找到的唯一答案:

  • 加倍.无限:但这显然是行不通的,因为纸牌只会试着扩大到无限的高度.
  • MediaQuery. sizeOf(Context)是我目前在硬编码时使用的,我将其与我的条的恒定大小进行子化,但这在将来将无法工作,正如上面已经解释的那样

推荐答案

您可以使用提供父控件约束(width and height of the parent)的LayoutBuilder控件来实现这一点.你可以分配和父部件一样大的资源.

try

  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text('Dynamic Demo'),
        ),
        body: LayoutBuilder(
          builder: (context, constraints) {
            return ListView.builder(
              itemBuilder: (context, index) => Container(
                width: constraints.maxWidth,
                height: constraints.maxHeight,
                color: Color.fromRGBO(index*50, index*20, index*10, 1),
              ),
              itemCount: 20,
            );
          },
        ));
  }

容器分配屏幕的剩余空间,你可以应用到卡片上.

希望对你有帮助.

Flutter相关问答推荐

如何防止alert 对话框在收到通知时出现在某个flutter页面中

想更新ListView上的索引点击块Flutter

如何在WidgetRef引用外部的函数中使用Riverpod刷新数据

如何将 colored颜色 阴影作为默认容器 colored颜色 应用于自定义窗口小工具?

使用Future函数的容器中未显示图像,但在使用图像小工具时显示

Flutter Riverpod,将默认的BTC值改写为我的新状态

如何在Ffltter 3.16中设置标准的提升按钮主题?

在Flutter 小部件测试中找不到框中的AssetImage装饰

如何将WebViewWidget和WillPopScope结合起来

如何在巡逻测试期间重新启动dart 侧应用程序状态?

如何在 VS Code 中启用 Flutter 运行/调试工具栏?

没有为类型 'Widget' 定义运算符 '[]' .try 定义运算符[]

用户文档 ID 与 Firestore 中的用户 ID 相同

提供者、存储库和服务之间有什么区别?

从子集合sem中获取参考学年&&课程名称的值

如何使用 riverpod_annotation 创建非自动处置提供程序?

Android Studio - Electric Eel 2022.1.1 更新 destruct 了 dart 文件图标

Android: 从 URI 获取音频元数据

Flutter 如何使用 ClipPath 编辑容器的顶部?

Flutter .replaceFirst(或全部)不起作用