首页 > 解决方案 > 如何在 Flutter 中实现 staggered_grid_view 的 StaggeredTile.fit?

问题描述

我想实现一个高度可变的网格视图。此外,应调整其视图以匹配图像的高度。所以,我认为这个包很好地实现了这个功能。https://pub.dev/packages/flutter_staggered_grid_view

但是,我收到以下代码错误。

class TestPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('test'),
      ),
      body: const ContentsMixView(),
    );
  }
}

class ContentsMixView extends StatelessWidget {
  const ContentsMixView({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return StaggeredGridView.countBuilder(
      crossAxisCount: 2,
      crossAxisSpacing: 5,
      mainAxisSpacing: 5,
      itemCount: 15,
      itemBuilder: (context, index) {
        return Container(
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: <Widget>[
              Image.network('https://images-na.ssl-images-amazon.com/images/I/51ZxU6FYLuL._SX315_BO1,204,203,200_.jpg'),
              Text('hello'),
              Text('\$100'),
              Text('_location'),
            ],
          ),
        );
      },
      staggeredTileBuilder: (int index) => StaggeredTile.fit(1),
    );
  }
}

错误信息如下。

Updated layout information required for RenderIndexedSemantics#80e91 NEEDS-LAYOUT to calculate semantics.
'package:flutter/src/rendering/object.dart':
Failed assertion: line 2647 pos 12: '!_needsLayout'

我试图用 Expanded Widget 包围 StaggeredGridView.countBuilder。但我做不到。请告诉我如何关闭此错误。

标签: flutterstaggered-gridview

解决方案


推荐阅读