[英]How to align widgets in a GridView in Flutter?
我想在不改变小部件大小的情况下将GridView 项目的内容与中心(垂直和水平)对齐。
此代码创建一个GridView
,其中包含一个项目,它有一个默认的顶部中心 alignment 并且大小是默认正方形。
GridView.count(
crossAxisCount: 3,
children: [
Container(
// alignment: Alignment.center,
child: RaisedButton(
child: Column(
children: [
Text("Top text"),
Text("Bottom text"),
],
),
onPressed: (){}
),
),
],
);
当我取消注释 alignment 时,它没有正确对齐项目并且项目的大小发生变化,我不想要它们。
请注意,我在该GridView
项目中需要多个Widget
,因此我无法删除Column
(但也许我可以替换它?)。
将 mainAxisAlignment 添加到列后,我看不到任何大小变化。 请运行以下代码:
import 'package:flutter/material.dart';
final Color darkBlue = Color.fromARGB(255, 18, 32, 47);
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData.dark().copyWith(scaffoldBackgroundColor: darkBlue),
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(
child: MyWidget(),
),
),
);
}
}
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return GridView.count(
crossAxisCount: 3,
children: [
Container(
// alignment: Alignment.center,
child: RaisedButton(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("Top text"),
Text("Bottom text"),
],
),
onPressed: () {}),
),
],
);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.