flutter - 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,
)
],
),
),
)),
);
}
}
解决方案
我使用shrinkWrap 解决它。现在 gridview 的高度是根据它的孩子来包装的。收缩包装网格视图
推荐阅读
- google-sheets - 将一列拆分为 2、3、4、5 或更多列的最佳选择
- android-automotive - Automotive OS 中的 Streams 和 AudioAttributes
- jmeter - 如何在公司的代理自动配置 (PAC) 文件后面记录 JMeter 脚本?
- python - 使 Matplotlib 在不同图形之间绘制颜色值一致
- python - Python更新-如何更新`py`以指向新版本?
- android - 为什么在使用 Room 时不能将查询结果分配给变量?
- python - 通过 Jupyter 安装 python 包
- internet-explorer - Microsoft Edge 显示无效的 HTML5 DOCTYPE
- mysql - 如何从另一个表的另一列中插入数据?
- utf-8 - 如何使用热字符串显示重音字符?