Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在颤振中以固定行数显示一个TextFormField的最后一行_Flutter_Line_Textfield - Fatal编程技术网

Flutter 如何在颤振中以固定行数显示一个TextFormField的最后一行

Flutter 如何在颤振中以固定行数显示一个TextFormField的最后一行,flutter,line,textfield,Flutter,Line,Textfield,我有一个固定行数的TextFormField,当屏幕加载时,这个TextFormField的行数已经超过了我定义的固定行数 如果我想看最后一行 我需要手动滚动到最后一行 是否有办法自动显示此TextFormField的最后一行 Container( child: SingleChildScrollView( child: TextField( readOnly: tr

我有一个固定行数的TextFormField,当屏幕加载时,这个TextFormField的行数已经超过了我定义的固定行数

如果我想看最后一行

我需要手动滚动到最后一行

是否有办法自动显示此TextFormField的最后一行

    Container(
                  child:  SingleChildScrollView(
                    child: TextField(
                      readOnly: true,
                      keyboardType: TextInputType.multiline,
                      maxLines: 9,
                      controller: chatController,
                      decoration: InputDecoration(
                      hintText: "Chat...",
                      border: OutlineInputBorder(
                      borderRadius: BorderRadius.circular(15.0),
                        ),
                      ),
                    ),
                  ),
                ),

这似乎是颤振框架中缺少的一个功能,有人提出了一个bug来解决它:

然而,该网站包括一个工作环境。请看一看

  • 将此变量设为公共变量:

    ScrollController scrollController = new ScrollController();
    
  • 将其附加到文本字段

    TextField(
      //...
      scrollController: scrollController,
      //...
    ),  
    
  • 将其放入initState函数:

    WidgetsBinding.instance.addPostFrameCallback((_) async {
           scrollController.jumpTo(double.parse((9 * 17 * 1.9 /*number of lines * fontSize * 1.9 (you can of course experiment with this values)*/).toStringAsFixed(1)));
    });
    
  • 我希望有帮助