Flutter:TextFormField 的位置计数器

som*_*121 5 dart flutter

我目前正在尝试将 TextFormField 计数器移至顶部(实际输入框上方),但我不确定如何执行此操作。

现在:在此输入图像描述

因此计数器应该移动到输入框字段上方的右上角。我试图考虑建造一个新柜台,但一定有更简单的方法来做到这一点?我也尝试过使用 InputDecoration 但似乎没有什么真正起作用。

TextFormField(
      maxLength: 1000,
      decoration: InputDecoration(
        labelText: label,
        labelStyle: TextStyle(fontSize: 30,
      ),
    )
Run Code Online (Sandbox Code Playgroud)

希望得到一些帮助,谢谢!

Md.*_*ikh 5

一种快捷方式是使用buildCounterwith transform。但这会包含一些额外的空格,我认为还可以。

 TextFormField(
              maxLength: 1000,
              buildCounter: (context,
                  {required currentLength, required isFocused, maxLength}) {
                return Container(
                  transform: Matrix4.translationValues(0, -kToolbarHeight, 0),
                  child: Text("$currentLength/$maxLength"),
                );
              },
            ),
Run Code Online (Sandbox Code Playgroud)

另一种方式 TextEditingControllerColumn

  final TextEditingController controller = TextEditingController();
  final maxLength = 1000;

  @override
  void initState() {
    controller.addListener(() {
      setState(() {});
    });
    super.initState();
  }

Run Code Online (Sandbox Code Playgroud)
 Column(
              children: [
                Align(
                  alignment: Alignment.centerRight,
                  child: Text("${controller.text.length}/$maxLength"),
                ),
                TextFormField(
                  key: ValueKey("textFiled in Column"),
                  controller: controller,
                  buildCounter: (context,
                          {required currentLength,
                          required isFocused,
                          maxLength}) =>
                      SizedBox(),
                ),
              ],
            ),
Run Code Online (Sandbox Code Playgroud)

结果

在此输入图像描述