美文网首页
Column中嵌入横向滚动的ListView(不固定ListVi

Column中嵌入横向滚动的ListView(不固定ListVi

作者: _诸葛青 | 来源:发表于2022-08-09 11:26 被阅读0次

    以子组件的高度,作为listview的高度。
    优雅解决,性能也没有问题。
    整理来源:B站:王叔不秃 的视频。
    思路很强,做个记录。
    注:Column虽然不可滑动,但在绘制中是假定高度无限大的。

        Column(
                  children: [
                    Stack(
                      children: [
                        const IgnorePointer(//为了防止TestWidget有点击事件
                          child: Opacity(opacity: 0.0, child: TestWidget()),//渲染步骤:布局、绘制、合成,当opacity: 0.0时,不会走,绘制、合成。即不用担心性能问题。
                        ),
                        const SizedBox(
                          width: double.infinity,//并不是无限大,跟你布局的约束有关
                        ),
                        Positioned.fill(//占满布局(要去了解stack布局原理,当有stack中有非Positioned包裹的组件时,会用该组件的大小)
                            child: ListView.builder(
                                scrollDirection: Axis.horizontal,
                                itemCount: 1000,
                                itemBuilder: (_, index) {
                                  return const TestWidget();
                                }))
                      ],
                    )
                  ],
                )
    

    相关文章

      网友评论

          本文标题:Column中嵌入横向滚动的ListView(不固定ListVi

          本文链接:https://www.haomeiwen.com/subject/mfcnwrtx.html