我想知道如何在扑动中垂直和水平地集中文本部件的内容。 我只知道如何使用center (child: Text("test"))将小部件本身居中,但不知道内容本身。默认情况下,它是向左对齐的。在Android中,我相信TextView的属性,实现这被称为重力。

我想要的例子:


当前回答

我认为一个更灵活的选择是用Align()像这样包装Text():

Align(
  alignment: Alignment.center, // Align however you like (i.e .centerRight, centerLeft)
  child: Text("My Text"),
),

使用Center()似乎完全忽略了文本部件上的TextAlign。它不会对齐TextAlign。left或TextAlign。如果你试一下,它还是会在中间。

其他回答

如果您是intellij IDE用户,可以使用快捷键Alt+Enter,然后选择居中换行,然后添加textAlign: textAlign . Center

也许你想为两个集装箱提供相同的宽度和高度

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,
              ),),
            ),

你需要在文本部件上使用textAlign属性。这对我来说是最好的结果

Text(
  'Hi there',
   textAlign: TextAlign.center,                          
 )

你必须设置你的文本部件属性来设置textAlign.center。

center(
   child : Text(
  'Hello',
   textAlign: TextAlign.center))
                       child: Align(
                          alignment: Alignment.center,
                          child: Text(
                            'Text here',
                            textAlign: TextAlign.center,                          
                          ),
                        ),

这对我来说是最好的结果。