flutter - 行 mainAxisAlignment 不适用于 FittedBox
问题描述
使用 FittedBox 包装后行 mainAxisAlignment 不起作用请解释为什么会发生这种情况。
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Container(
height: 20,
child: FittedBox(
fit: BoxFit.fill,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Text('THis is the thing'),
Text('THis is another thing'),
],
),
),
)
);
}
预期的
输出
解决方案
如果您真的想在mainAxisAllignment.spaceBetween 或任何效果的Row
内部使用,则必须根据间距手动设置 spaceBetween 使用与宽度。还将 fit 属性设置为.FittedBox
SizedBox
BoxFit.fitHeight
Container(
height: 20,
child: FittedBox(
alignment: Alignment.center,
fit: BoxFit.fitHeight,
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Text('THis is the thing',style: TextStyle(fontSize: 20),),
SizedBox(width: 300,),
Text('THis is another thing',style: TextStyle(fontSize: 20,),),
],
),
),
)
注意:设置 allignment 属性以指定定位。对于MainAxisAllignment.start
和MainAxisAllignment.start
。例:生效Alignment.topLeft
。MainAxisAllignment.start
推荐阅读
- visual-studio-code - 在 VS Code 中更改颜色
- css - 网站部分的背景颜色与不同屏幕上视频的背景颜色不匹配的奇怪问题
- reactjs - 如果用户不使用 multer 选择文件,如何从表单数据中忽略“req.file.path”
- java - Spring boot 错误创建名为“entityManagerFactory”的 bean。是数据库问题吗?
- php - 如何用逗号将对象转换为字符串?
- laravel - 用户控制器不存在
- android - 如何从此 api 查询随机日期?
- sql - 如何在Oracle sql中将行转换为按多列分组的列
- mysql - Docker 撰写 - MySQL - MYSQL_ROOT_PASSWORD
- python - 如何将输入视为复杂张量?RuntimeError:张量必须具有步幅为 1 的最后一个维度