flutter - flutter Column Childs完全居中
问题描述
我正在尝试 使用以下代码实现与以下图像img类似的结果:
Container(
padding: EdgeInsets.symmetric(vertical: 2, horizontal: 0),
height: 60,
color: Colors.blueAccent,
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
CustomPaint(painter: CircleHelper()),
Container(height: 7),
Container(
height: 40,
child: VerticalDivider(color: Colors.lightBlueAccent))
],
))
结果我得到了: img
如您所见,它们并非完全居中;
谢谢你的帮助
解决方案
使用 Stack 小部件将圆形容器放置在分隔线上。这是代码。
注意: VerticalDivider 没有按预期工作。我使用了 Divider 小部件,并用 Transform.rotate 小部件包裹它并将其旋转 90 度 (pi / 2)。您需要导入“dart:math”。
Container(
padding: EdgeInsets.symmetric(vertical: 2, horizontal: 0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Stack(
children: [
Transform.rotate(
angle: pi / 2,
child: Divider(
color: Colors.lightBlueAccent,
)),
Column(
children: [
Container(
height: 20,
decoration: BoxDecoration(
color: Colors.white,
shape: BoxShape.circle,
border: Border.all(color: Colors.blue)),
),
Container(
height: 20,
margin: EdgeInsets.only(top: 20),
decoration: BoxDecoration(
color: Colors.white,
shape: BoxShape.circle,
border: Border.all(color: Colors.blue)),
),
],
),
],
)
],
),
),
推荐阅读
- flutter - Flutter 公交车座椅布局设计
- sql-server - 比较 CronExpression 和实际时间以知道是否执行
- javascript - Ionic Native SQLite 插件:如何检查现有数据库是否为空?
- csv - 使用 Openpyxl load_workbook 意外截断 XLSX Sheetnames
- react-native - 如何在堆栈导航中创建从父组件到子组件的传递状态值
- linux - 远程应答终端提示。管道到不同的 shell 会话
- r - 强制 R 将第 1.5 轮降到 1
- .net-core - 防止 HttpClient 在控制台中记录 404 错误
- javascript - 虽然循环破坏html画布游戏
- isabelle - 如何对伊莎贝尔理论进行多行注释?