Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter StaggedGridView的动态高度在颤振项目中不起作用_Flutter_Dart_Staggered Gridview - Fatal编程技术网

Flutter StaggedGridView的动态高度在颤振项目中不起作用

Flutter StaggedGridView的动态高度在颤振项目中不起作用,flutter,dart,staggered-gridview,Flutter,Dart,Staggered Gridview,我想在第0个索引处创建一个横幅视频,每行两张卡,构建一个交错的EdGridView。但是视频并没有填满屏幕宽度,因为每一行的高度都是相同的 这就是我正在做的 static final videoPlayerController = VideoPlayerController.network( "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"); static final

我想在第0个索引处创建一个横幅视频,每行两张卡,构建一个交错的EdGridView。但是视频并没有填满屏幕宽度,因为每一行的高度都是相同的

这就是我正在做的

static final videoPlayerController = VideoPlayerController.network(
  "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4");

static final chewieController = ChewieController(
videoPlayerController: videoPlayerController,
aspectRatio: 3 / 2,
autoPlay: true,
looping: true,
allowMuting: true,
allowFullScreen: false,);

final playerWidget = Chewie(
controller: chewieController,);
构建小部件的代码:

Widget buildStaggeredListing(BuildContext context) {
return StaggeredGridView.countBuilder(
  crossAxisCount: 2,
  crossAxisSpacing: 4.0,
  itemCount: 10,
  itemBuilder: (BuildContext buildContext, int index) {
    if (index == 0) {
      return playerWidget;
    }
    return Card(
      child: Padding(
        padding: EdgeInsets.all(16.0),
        child: Text(
          index.toString(),
          style: TextStyle(fontSize: 22.0),
        ),
      ),
    );
  },
  staggeredTileBuilder: (int index) {
    if (index == 0) {
      return StaggeredTile.count(2, 1);
    }
    return StaggeredTile.count(1, 1);
  },
);
}

截图:

更新:根据sagar acharya的回答,我使用了

if (index == 0) {
      return StaggeredTile.fit(1);
   }
    return StaggeredTile.fit(2);

这就是正在发生的事情:

只需检查此代码是否有效:

staggeredTileBuilder: (int index) {
    if (index == 0) {
      return StaggeredTile.fit(2);
    }
    return StaggeredTile.count(1,1);
  },

没有兄弟。我根据您的建议更新了我的问题。您是否可以将StaggedTitle.fit(2)设置为索引0,并在索引不是0时使用此选项:返回StaggedTitle.count(1,1);这很有效。非常感谢。请编辑您的答案,我可以批准它。