小编est*_*vez的帖子

可滚动的自定义多子布局

我无法使 CustomMultiChildLayout 可滚动。

目前,我的 CustomMultiChildLayout 只是将子项布置在一列中。将来我会让它变得更复杂,但现在我想让它可滚动。我试着把它放进去ListView,但还是不行RenderIndexedSemantics object was given an infinite size during layout.。我尝试将其放入其中,SingleChildScrollViewIntrinsicHeight在这种情况下它无法滚动,并且它的高度与视口相同。

以下是一些无法正常工作的示例:

return SingleChildScrollView(
        child: IntrinsicHeight(
          child: CustomMultiChildLayout(
            delegate: ViewLayoutBuilder(itemCount: cards.length),
            children: _buildChildren(context),
          ),
        ),
      );
Run Code Online (Sandbox Code Playgroud)

return ListView(
        children: <Widget>[
          CustomMultiChildLayout(
            delegate: ViewLayoutBuilder(itemCount: cards.length),
            children: _buildChildren(context),
          )
        ],
      )
Run Code Online (Sandbox Code Playgroud)

这是我的ViewLayoutBuilder代表:

class ViewLayoutBuilder extends MultiChildLayoutDelegate {
  final int itemCount;

  ViewLayoutBuilder({@required this.itemCount});

  @override
  void performLayout(Size size) {
    Offset position = Offset(0,0);
    Size firstSize = layoutChild('card_0', BoxConstraints.tightFor(width: size.width));
    positionChild('card_0', …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-layout

8
推荐指数
0
解决办法
866
查看次数

标签 统计

dart ×1

flutter ×1

flutter-layout ×1