我想知道如何在扑动中垂直和水平地集中文本部件的内容。 我只知道如何使用center (child: Text("test"))将小部件本身居中,但不知道内容本身。默认情况下,它是向左对齐的。在Android中,我相信TextView的属性,实现这被称为重力。
我想要的例子:
我想知道如何在扑动中垂直和水平地集中文本部件的内容。 我只知道如何使用center (child: Text("test"))将小部件本身居中,但不知道内容本身。默认情况下,它是向左对齐的。在Android中,我相信TextView的属性,实现这被称为重力。
我想要的例子:
当前回答
文本对齐中心属性只设置水平对齐。
我使用下面的代码设置文本垂直和水平居中。
代码:
child: Center(
child: Text(
"Hello World",
textAlign: TextAlign.center,
),
),
其他回答
您可以使用文本构造函数的TextAlign属性。
Text("text", textAlign: TextAlign.center,)
child: Align(
alignment: Alignment.center,
child: Text(
'Text here',
textAlign: TextAlign.center,
),
),
这对我来说是最好的结果。
文本标题必须始终在顶部。
错误的方式:
child: Center(
child: Text(
textAlign: TextAlign.center,
"Hello World",
),
),
正确的方式:
child: Center(
child: Text(
"Hello World",
textAlign: TextAlign.center,
),
),
我认为一个更灵活的选择是用Align()像这样包装Text():
Align(
alignment: Alignment.center, // Align however you like (i.e .centerRight, centerLeft)
child: Text("My Text"),
),
使用Center()似乎完全忽略了文本部件上的TextAlign。它不会对齐TextAlign。left或TextAlign。如果你试一下,它还是会在中间。
也许你想为两个集装箱提供相同的宽度和高度
Container(
width: size.width * 0.30, height: size.height * 0.4,
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(6)
),
child: Center(
child: Text(categoryName, textAlign: TextAlign.center, style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 17,
color: Colors.white,
),),
),