【问题标题】:Gridview wrap content flutterGridview 包装内容颤动
【发布时间】:2020-09-19 07:18:54
【问题描述】:

我有一个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,
                  )
                ],
              ),
            ),
          )),
    );
  }
}

【问题讨论】:

  • 你所说的“换行”是什么意思?
  • 由于gridview的children是固定的,所以想实现一个高度可以包裹内容的gridview。
  • 用什么包裹?
  • 喜欢android的wrap_content
  • 请更具描述性。我不是安卓开发者。

标签: flutter gridview


【解决方案1】:

我使用shrinkWrap 解决了这个问题。现在gridview的高度是根据它的children包裹起来的。shrinkwrap gridview

【讨论】:

    猜你喜欢
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 2021-11-20
    • 1970-01-01
    • 2010-12-31
    • 2015-01-05
    • 1970-01-01
    相关资源
    最近更新 更多