Flutter TextField在顶部对齐文本

bfnvny8b  于 2023-06-24  发布在  Flutter
关注(0)|答案(4)|浏览(172)

我有一个TextField像这样:

我希望提示和文本在顶部对齐,而不是在中心。
我尝试了textAlign: TextAlign.start,但这只是为了水平对齐。

TextField(
  textAlign: TextAlign.start,
  expands: true,
  maxLines: null,
  decoration: InputDecoration(
      border: OutlineInputBorder(
        borderRadius: BorderRadius.circular(3),
      ),
      hintText: 'Enter Unicode text'),
),

如何使文本显示在顶部?

  • 我找到了答案,所以我添加这个作为自我回答Q&A。
ny6fqffe

ny6fqffe1#

若要将TextField中的文本顶部对齐,请使用

textAlignVertical: TextAlignVertical.top

这会给予你你想要的:

TextField(
  textAlignVertical: TextAlignVertical.top,
  expands: true,
  maxLines: null,
  decoration: InputDecoration(
      border: OutlineInputBorder(
        borderRadius: BorderRadius.circular(3),
      ),
      hintText: 'Enter Unicode text'),
)
iyfjxgzm

iyfjxgzm2#

添加alignLabelWithHint:true,

TextFormField(
  maxLines: 10,
  minLines: 5,
  decoration: InputDecoration(
      border: OutlineInputBorder(
        borderRadius: BorderRadius.circular(3),
      ),
      hintText: 'Enter Unicode text'),
      alignLabelWithHint: true,
)
cvxl0en2

cvxl0en23#

将使用输入框内文本的垂直对齐方式。
范围为-1.0到1.0的单个y值。-1.0与输入框的顶部对齐,以便第一行文本的顶部适合框及其填充。0.0与长方体的中心对齐。1.0对齐,以便最后一行文本的底部与输入框的底部内边缘对齐。
您需要确保:
textAlignVertical,它被传递给InputDecorator。

TextField(
  textAlignVertical: TextAlignVertical.top,
  expands: true,
  maxLines: null,
  decoration: InputDecoration(
      border: OutlineInputBorder(
        borderRadius: BorderRadius.circular(3),
      ),
      hintText: 'Enter Unicode text'),
)
u59ebvdq

u59ebvdq4#

TextFormField( 
  decoration: InputDecoration(
    alignLabelWithHint: true,
    label: Text('Your label name'),
  ),
)

相关问题