flutter - 颤动文本宽度和高度匹配父级
问题描述
我想实现将文本宽度和高度设置为父大小。这是我尝试过的,但它不起作用:
Container(
height: double.infinity,
child: Padding(
padding: const EdgeInsets.only(left: 30, right: 30),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
GestureDetector(
onTap: () {
_onPagerTabItemClicked(0);
},
child: Container(
width: double.infinity,
height: double.infinity,
child: Text("Günlük",
style: TextStyle(color: getTextColor(0))),
)),
GestureDetector(
onTap: () {
_onPagerTabItemClicked(0);
},
child: Container(
width: double.infinity,
height: double.infinity,
child: Text("Günlük",
style: TextStyle(color: getTextColor(0))),
)),
GestureDetector(
onTap: () {
_onPagerTabItemClicked(0);
},
child: Container(
width: double.infinity,
height: double.infinity,
child: Text("Günlük",
style: TextStyle(color: getTextColor(0))),
)),
],
),
),
),
在我使用上面的代码之后,文本的宽度和高度仍然是 wrap_content。(我通过给文本赋予背景颜色来调查它)。如何实现?
ps:在我共享容器宽度和高度的代码块中是无限的,所以如果我试图用
SizedBox.expand
它不工作来包围它。
解决方案
您可以通过将Text
小部件包装在FittedBox中来实现此目的,fit: BoxFit.fill
以便它占据所有可用空间。
Container(
height: double.infinity,
child: Padding(
padding: const EdgeInsets.only(left: 30, right: 30),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
buildItem(Colors.red),
buildItem(Colors.green),
buildItem(Colors.blue),
],
),
),
);
Widget buildItem(Color color) {
return Expanded(
child: Container(
height: double.infinity,
color: color,
child: FittedBox(
fit: BoxFit.fill,
alignment: Alignment.center,
child: GestureDetector(
onTap: (){},
child: Text(
"Günlük",
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
),
),
),
),
),
);
推荐阅读
- python - 如何在kivy中处理多个键盘输入?
- list - 我怎样才能打印出一份清单?
- mysql - SQL查询,城市和大陆的数量
- android - Jetpack Compose 支持哪些 Android 版本?
- python - Django Celery IntegrityError
- after-effects - 当我在构图中应用 Cinema 4d 渲染时出现后效错误
- python - 如何在相机周围移动立方体?(游戏)
- python - 当 One Hot Encoding 时,浮点的 attr 'TI' 的 Tensorflow 值不在允许值列表中
- javascript - 使用逻辑运算符将 Int 编码为字节
- python - python运行时环境是什么意思?