我正在尝试构建一个BottomSheet,其中在gridview中显示不同的表情符号,图像和gif。为此,我将CustomScrollView小部件与SliverPadding和SliverGrid一起使用。我的问题是,我无法调整网格中图像和Gif的大小。可以使用fontSize属性轻松调整表情符号的大小。
到目前为止,这是我的代码:
CustomScrollView(
physics: NeverScrollableScrollPhysics(),
primary: false,
slivers: <Widget>[
SliverPadding(
padding: const EdgeInsets.only(top: 40.0),
sliver: SliverGrid.count(
crossAxisSpacing: 50.0,
crossAxisCount: 3,
children: <Widget>[
GestureDetector(
child: const Text('', textAlign: TextAlign.center, style: TextStyle(fontSize: 30.0)),
onTap: (){
postLike(widget.list[widget.index].reference, widget.currentUser, "like");
Navigator.pop(context);
},
),
GestureDetector(
child: const Text('', textAlign: TextAlign.center, style: TextStyle(fontSize: 30.0)),
onTap: (){
postLike(widget.list[widget.index].reference, widget.currentUser, "laugh");
Navigator.pop(context);
},
),
GestureDetector(
child: const Text('', textAlign: TextAlign.center, style: TextStyle(fontSize: 30.0)),
onTap: (){
postLike(widget.list[widget.index].reference, widget.currentUser, "surprised");
Navigator.pop(context);
},
),
GestureDetector(
child: const Text('', textAlign: TextAlign.center, style: TextStyle(fontSize: 30.0)),
onTap: (){
postLike(widget.list[widget.index].reference, widget.currentUser, "hot");
Navigator.pop(context);
},
),
GestureDetector(
child: const Text('', textAlign: TextAlign.center, style: TextStyle(fontSize: 30.0)),
onTap: (){
postLike(widget.list[widget.index].reference, widget.currentUser, "thumbsUp");
Navigator.pop(context);
},
),
GestureDetector(
child: const Text('', textAlign: TextAlign.center, style: TextStyle(fontSize: 30.0)),
onTap: (){
postLike(widget.list[widget.index].reference, widget.currentUser, "nice");
Navigator.pop(context);
},
),
GestureDetector(
child: SizedBox(
height: 20,
width: 20,
child: Image.asset('assets/kiss.gif', height: 20, width: 20, fit: BoxFit.fill)),
onTap: (){
postLike(widget.list[widget.index].reference, widget.currentUser, "nice");
Navigator.pop(context);
},
),
],
),
),
],
)
这是此刻的样子(吻嘴实际上在移动):
如您所见,接吻实在太多了,但我无法调整其大小。无论是高度和宽度还是将其包装在SizedBox中,都无济于事。
有什么想法吗?
最诚挚的问候。
答案 0 :(得分:0)
我通过将孩子包装在“中心小部件”中解决了此问题:
GestureDetector(
child: Center(
child: Container(
height: 50,
width: 50,
child: Image.asset('assets/kiss.gif')),
onTap: (){
postLike(widget.list[widget.index].reference, widget.currentUser, "kiss");
Navigator.pop(context);
},
),