Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 在Flatter的GridView中将图像和文本居中对齐_Flutter_Dart - Fatal编程技术网

Flutter 在Flatter的GridView中将图像和文本居中对齐

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

我试图在中心对齐图像和文本,当文本很小时它可以工作,但当我有大文本时,一切都会改变。我使用的是GridView,每行有3个项目

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”相关的错误导致小部件被删除感谢我尝试了该选项,但如果你看到的图像很少有圆形的,也很少有椭圆形的,这是因为文字的大小。我试图使它在所有图像上都保持不变的圆圈和文字。