Flutter 在Flatter的GridView中将图像和文本居中对齐
我试图在中心对齐图像和文本,当文本很小时它可以工作,但当我有大文本时,一切都会改变。我使用的是GridView,每行有3个项目Flutter 在Flatter的GridView中将图像和文本居中对齐,flutter,dart,Flutter,Dart,我试图在中心对齐图像和文本,当文本很小时它可以工作,但当我有大文本时,一切都会改变。我使用的是GridView,每行有3个项目 Widget buildItems(BuildContext context, String impagepath, String modulename) { return Column( mainAxisSize: MainAxisSize.max, children: <Widget>[ Ex
Widget buildItems(BuildContext context, String impagepath, String modulename) {
return Column(
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Expanded(
child: CustomButtonWidget(
image: impagepath,
size: 100,
borderWidth: 5,
onTap: () {}
),
),
Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Container(
width: double.infinity,
height: double.infinity,
child: Text("${selectlang.getAlbum(modulename, lang_selection)}"),
),
],
)
],
);
}
Widget buildItems(BuildContext上下文、字符串impagepath、字符串modulename){
返回列(
mainAxisSize:mainAxisSize.max,
儿童:[
扩大(
子项:CustomButtonWidget(
图片:impagepath,
尺码:100,
边框宽度:5,
onTap:(){}
),
),
划船(
crossAxisAlignment:crossAxisAlignment.stretch,
儿童:[
容器(
宽度:double.infinity,
高度:双无限,
子项:文本(${selectlang.getAlbum(modulename,lang_selection)}),
),
],
)
],
);
}
您需要使用“小部件”列的属性
在列中使用crossAxisAlignment:crossAxisAlignment.center,
Widget buildItems(BuildContext context, String impagepath, String modulename) {
return Column(
mainAxisSize: MainAxisSize.max,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Expanded(
child: CustomButtonWidget(
image: impagepath,
size: 100,
borderWidth: 5,
onTap: () {}
),
),
Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Container(
width: double.infinity,
height: double.infinity,
child: Text("${selectlang.getAlbum(modulename, lang_selection)}"),
),
],
)
],
);
}
Widget buildItems(BuildContext上下文、字符串impagepath、字符串modulename){
返回列(
mainAxisSize:mainAxisSize.max,
crossAxisAlignment:crossAxisAlignment.center,
儿童:[
扩大(
子项:CustomButtonWidget(
图片:impagepath,
尺码:100,
边框宽度:5,
onTap:(){}
),
),
划船(
crossAxisAlignment:crossAxisAlignment.stretch,
儿童:[
容器(
宽度:double.infinity,
高度:双无限,
子项:文本(${selectlang.getAlbum(modulename,lang_selection)}),
),
],
)
],
);
}
使用crossAxisAlignment:crossAxisAlignment.center
在列小部件内部。它给出了错误信息。RenderBox未布局:RenderFlex#cab96 relaytBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE“package:flatter/src/rendering/box.dart”:失败的断言:第1694行pos 12:“hasSize”相关的错误导致小部件被删除感谢我尝试了该选项,但如果你看到的图像很少有圆形的,也很少有椭圆形的,这是因为文字的大小。我试图使它在所有图像上都保持不变的圆圈和文字。