您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在哪种情况下,textAlign属性可在Flutter中工作?

在哪种情况下,textAlign属性可在Flutter中工作?

DefaultTextStyle与问题无关。删除它仅使用认样式,该样式比您使用的认样式大得多,因此隐藏了 问题。

textAlignText当占用的空间大于实际内容时,将文本对齐。

问题是,在内Column,您Text仅占用最小的空间。它是那么Column,使用对齐其子crossAxisAlignment,其认为center

捕获此类行为的一种简单方法是将文本包装成这样:

Container(
   color: Colors.red,
   child: Text(...)
)

使用您提供的代码,呈现以下内容

问题突然变得很明显:Text不要占用整个Column宽度。

您现在有一些解决方案。

您可以将自己包装TextAlign模仿textAlign行为

Column(
  children: <Widget>[
    Align(
      alignment: Alignment.centerLeft,
      child: Container(
        color: Colors.red,
        child: Text(
          "Should be left",
        ),
      ),
    ),
  ],
)

或者,您也可以强制Text填充Column宽度。

通过指定crossAxisAlignment: CrossAxisAlignment.stretchonColumnSized@R_628_2419@与infinite一起使用width

Column(
  children: <Widget>[
    Sized@R_628_2419@(
      width: double.infinity,
      child: Container(
        color: Colors.red,
        child: Text(
          "Should be left",
          textAlign: TextAlign.left,
        ),
      ),
    ),
  ],
),

呈现以下内容

在该示例中,就是TextAlign将文本放在左侧。

其他 2022/1/1 18:14:51 有636人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶