【发布时间】: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
-
请更具描述性。我不是安卓开发者。