Flutter 颤振:带有viewportFraction的水平Listview

Flutter 颤振:带有viewportFraction的水平Listview,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,我想实现这种水平ListView效果 计划创建这样的水平ListView。示例水平列表视图将显示2个项目,1个项目仅显示20% 滚动时会变成这样。示例前端和端部显示20%,中间显示2项 已编辑:我正在使用的代码: 最简单的方法可能是使用水平ListView生成器 @override Widget build(BuildContext context) { return ListView.builder( scrollDirection:Axis.horizont

我想实现这种水平ListView效果

计划创建这样的水平ListView。示例水平列表视图将显示2个项目,1个项目仅显示20%

滚动时会变成这样。示例前端和端部显示20%,中间显示2项

已编辑:我正在使用的代码:


最简单的方法可能是使用水平ListView生成器

  @override
  Widget build(BuildContext context) {
    return ListView.builder(
      scrollDirection:Axis.horizontal,
      itemCount:10,
      itemBuilder:(context,index){
        return Padding(
          padding:EdgeInsets.symmetric(horizontal:MediaQuery.of(context).size.width*0.05),
          child:Container(
            color: Colors.blue,
        child:Text(index.toString()),
        height:20,
        width:MediaQuery.of(context).size.width*0.25,
        )
        );
      }
    );
  }
MediaQuery.of(context).size
允许您获取有关sreen几何体的信息


我会让你做一些数学运算,找到屏幕的正确部分,以获得你想要的最终结果

到目前为止你尝试了什么?你能给我看一些代码吗?@TomRivoire我已经编辑了这篇文章并插入了代码。你现在可以看看了。
  @override
  Widget build(BuildContext context) {
    return ListView.builder(
      scrollDirection:Axis.horizontal,
      itemCount:10,
      itemBuilder:(context,index){
        return Padding(
          padding:EdgeInsets.symmetric(horizontal:MediaQuery.of(context).size.width*0.05),
          child:Container(
            color: Colors.blue,
        child:Text(index.toString()),
        height:20,
        width:MediaQuery.of(context).size.width*0.25,
        )
        );
      }
    );
  }