我是新来的颤栗。我尝试使用crossAxisAlignment: CrossAxisAlignment.center在身体中间定位容器,但是crossAxisAlignment: CrossAxisAlignment.end没有工作,但是能够执行crossAxisAlignment: CrossAxisAlignment.stretch,所以我包含了width: double.infinity,所有代码crossAxisAlignment: CrossAxisAlignment.center和crossAxisAlignment: CrossAxisAlignment.end都工作得很好,所以我阻止了width: double.infinity //注释(//width: double.infinity)。我重新加载了这个应用程序,令人惊讶的是,所有东西都还在工作,我用crossAxisAlignment: CrossAxisAlignment.center和crossAxisAlignment: CrossAxisAlignment.end移动了专栏“儿童”,没有width: double.infinity,一切都运行得很好,但在一开始,它没有工作。这是否意味着颤振需要触发width: double.infinity才能正常工作?还是颤振仍在远程访问(//width: double.infinity)?
发布于 2022-07-16 21:34:27
尝试flutter clean并重新构建应用程序。
要对UI mainAxisAlignment: MainAxisAlignment.center,进行中心设置是不够的,因为列的宽度将取决于其子程序的最大宽度。你能做到的
home: Scaffold(
body: LayoutBuilder(
builder: (context, constraints) => SizedBox(
width: constraints.maxWidth,
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
height: 100,
width: 100,
color: Colors.red,
)
],
),
),
),
),另一件事可以通过使用Center小部件包装列来完成,并且它将转移到中心。
home: Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
height: 100,
width: 100,
color: Colors.red,
)
],
),
),
),更多关于颤振用户界面的信息
https://stackoverflow.com/questions/73007166
复制相似问题