首页 > 解决方案 > Gridview 包装内容颤动

问题描述

我有一个json,我想在gridview中显示它,json有很多内容,在gridview中我只想显示9个项目。

问题是我想包装 gridview 的内容,但我不知道怎么做。我试过包装小部件。如果不可能,那么我想我会重新考虑为此使用列和行。

请检查下面的代码。

在此处输入图像描述

class ServicesWidget extends StatefulWidget {
  @override
  _ServicesState createState() => _ServicesState();
}

class _ServicesState extends State<ServicesWidget> {
  @override
  Widget build(BuildContext context) {
    return Flexible(
      child: GridView.count(
        crossAxisCount: 3,
        childAspectRatio: 1,
        children: <Widget>[
          Center(child: Text('qwe')),
          Center(child: Text('qwe')),
          Center(child: Text('qwe')),
          Center(child: Text('qwe')),
          Center(child: Text('qwe')),
          Center(child: Text('qwe')),
          Center(child: Text('qwe')),
          Center(child: Text('qwe')),
          Center(child: Text('qwe')),
        ],
      ),
    );
  }
}

class HomeScreen extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<HomeScreen> {

  @override
  Widget build(BuildContext context) {
    return DirectSelectContainer(
      child: Scaffold(
          appBar: AppBar(
            title: Row(
              children: <Widget>[
                // cityDirectSelect(),
                // areaDirectSelect(),
                Spacer(flex: 1),
                IconButton(
                  padding: EdgeInsets.all(0),
                  icon: Icon(Icons.person),
                  color: Colors.grey,
                  onPressed: () {
                    Get.off(LoginScreen());
                  },
                )
              ],
            ),
          ),
          body: Center(
            child: Container(
              child: Column(
                children: <Widget>[
                  ServicesWidget(),
                  Container(
                    width: double.infinity,
                    child: Text('qweqwe'),
                    color: Colors.red,
                  )
                ],
              ),
            ),
          )),
    );
  }
}

标签: fluttergridview

解决方案


我使用shrinkWrap 解决它。现在 gridview 的高度是根据它的孩子来包装的。收缩包装网格视图


推荐阅读