【问题标题】:Aligning text in AppBar button对齐 AppBar 按钮中的文本
【发布时间】:2020-10-05 00:41:07
【问题描述】:

我正在尝试对齐位于 AppBar 的 action 属性中的按钮中的文本..

我希望文本在右边..

     AppBar(
        title: Text('Profile'),
        actions: <Widget>[
          FlatButton(
            color: Colors.red,
            padding: EdgeInsets.zero,
            child: Align(
              alignment: Alignment.centerRight,
              child: Text(
                'Done',
                textAlign: TextAlign.right,
              ),
            ),
            onPressed: () {},
          )
        ],
      )

我什至尝试过MaterialRawButton,结果相同...无论您做什么,文本都会位于按钮的中心

【问题讨论】:

  • 在这种情况下,制作自定义按钮可能是唯一的方法。 similar ,这里提到了RawMaterialButtonbuild-Method 孩子总是居中的。对于自定义按钮,您可以尝试Inkwell example 或您提到的使用Stack
  • @dev-aentgs 是的,恐怕你是对的。事实上,我已经制作了自己的按钮。我只是希望其他人会对此提出一些解决方案......

标签: flutter dart


【解决方案1】:

尝试在 Align 中使用 widthFactor ,它允许我们在特定位置移动。 只需在 Align 中添加此代码

widthFactor: 2.5

【讨论】:

  • 我非常感谢您的回答,但是 1/ 设置宽度不会将文本移动到右侧。它只会改变按钮的大小..2/设置填充将起作用,但必须针对不同的文本长度调整填充,所以这不是很好的解决方案。我也可以使用Stack 并创建我的自定义按钮,但我希​​望这个简单的任务有适当的解决方案
  • 刚想通,你可以在对齐中使用宽度因子。它帮助我们在特定位置移动文本。试试这个 widthFactor: 2.5, in Align
  • hmm...您可能正在做某事..尽管按钮的宽度很混乱,但它会使文本与应有的位置对齐...请用代码修改您的问题如果其他人没有更好的解决方案,那么我会将您的答案标记为已回答
  • 当然,起初我也是这么想的,但它并没有弄乱 width ,我尝试保留两个 appbar ,一个带有原始文件,另一个带有容器。两者的尺寸相同。检查此 dartpad.dev/b6409e10de32b280b8938aa75364fa7b>
  • 好的...我认为没有人会想出更好的主意,所以我将其标记为已回答
【解决方案2】:

您也可以改用 IconButton 并添加到图标参数文本小部件中。

             IconButton(
              icon: Text(
                'Done',
                style: TextStyle(fontSize: 16, fontWeight: FontWeight.w500),
              ),
              padding: EdgeInsets.zero)

【讨论】:

    猜你喜欢
    • 2021-12-26
    • 2017-03-17
    • 2013-08-20
    • 2017-11-04
    • 2011-07-13
    • 2015-07-06
    • 1970-01-01
    • 2018-05-13
    • 2013-02-08
    相关资源
    最近更新 更多