扩展 maxLines 属性时自动滚动多行 TextFormField

2024-04-06

我正在实现一个 TextFormField,其 maxLines 属性设置为 3。当用户从第四行开始时,如何使 TextFormField 向下滚动?目前,光标不再可见,直到用户手动向下滚动。有没有办法自动执行此操作?

这种行为实际上在 flutter_gallery 应用程序的“文本字段”示例中有所体现。只需在“Live Story”输入中输入长文本,直到到达第四行。
我的代码的重要部分实际上如下所示:

import 'package:flutter/material.dart';

class TextFormFieldDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      body: new Form(
        child: new TextFormField(
          maxLines: 3,
        ),
      ),
    );
  }
}

到目前为止,我还没有找到解决此问题的方法。
此问题同时影响 iOS 和 Android。


我们的团队通过嵌套一些现有的小部件来实现这一点:

// create the illusion of a beautifully scrolling text box
return new Container(
    color: Colors.gray,
  padding: new EdgeInsets.all(7.0),

  child: new ConstrainedBox(
    constraints: new BoxConstraints(
      minWidth: _contextWidth(),
      maxWidth: _contextWidth(),
      minHeight: AppMeasurements.isLandscapePhone(context) ? 25.0 : 25.0,
      maxHeight: 55.0,
    ),

    child: new SingleChildScrollView(
      scrollDirection: Axis.vertical,
      reverse: true,

        // here's the actual text box
        child: new TextField(
          keyboardType: TextInputType.multiline,
          maxLines: null, //grow automatically
          focusNode: mrFocus,
          controller: _textController,
          onSubmitted: currentIsComposing ? _handleSubmitted : null,
          decoration: new InputDecoration.collapsed(
            hintText: ''Please enter a lot of text',
          ),
        ),
        // ends the actual text box

      ),
    ),
  );
}

我们得到了帮助Darky https://stackoverflow.com/users/8394265/darky获取小部件排序和正确的小部件以使其正常工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

扩展 maxLines 属性时自动滚动多行 TextFormField 的相关文章

随机推荐

  • 在 Request.Form 中搜索控件/解析 NameValueCollection

    我正在使用 Request Form 搜索控件名称 当然 我知道您可以使用 AllKeys 迭代所有值 并且也可以执行 Form controlName 然而 我的一些控件名称是动态的 能够执行以下操作会很有用 1 获取集合中名称以某个前缀
  • AuthenticationCredentialsNotFoundException:在 SecurityContext 中找不到身份验证对象

    我在我的服务器上实现了以下登录功能这个帖子 https stackoverflow com questions 13914547 gwt spring security integration pure gwt no jsp基本上 Tran
  • 字符串与 Null 的连接

    我有以下代码 System out println null 输出是null Java 是如何实现字符串连接的呢 因为Java将表达式转换为 A String x类似的事情 A String String valueOf x 事实上我认为它
  • Windows 8 x64 和 Ruby 1.9.3 上的 nokogiri gem 缺少 libxml2

    我发现搜索类似问题是Nokogiri尚无 x64 支持Ruby 2 0 然而 尽管我在Windows x64我的 Ruby 版本是ruby 1 9 3p392 2013 02 22 i386 mingw32 来自railsinstaller
  • 从 NGINX 中客户端证书的可分辨名称获取通用名称

    我需要在 NGINX 中获取客户端证书的 CN 以将其附加到代理标头中 我已经为此找到了以下地图代码 map ssl client s dn ssl client s dn cn default CN
  • R :: 使用 Makevars 覆盖 C 编译器

    我们的 R 安装定义为 R HOME etc Makeconf that CC gcc std gnu99 我有一个特定的包 C 和 C 代码的混合 需要使用编译 CC gcc without std gnu99 据我了解 我有 3 种方法
  • 访问结构指令中的主机组件

    我正在使用 Angular 5 2 10 假设我们有以下模板
  • 使用 AWS ECS 服务和 Elastic LoadBalancer 向公共公开多个端口

    我有公开多个端口的服务 它在 kubernetes 上运行良好 但现在我们将其移至 AWS ECS 看来我只能通过负载均衡器公开端口 并且每个服务 任务只能使用 1 个端口 即使 docker 定义了多个端口我也必须选择一个端口 Add t
  • 处理 nil 对象和属性的最佳实践是什么?

    说我有一个User对象 它有一个email财产 我需要他们的大写最后一个字母email u User find 1 letter u email upcase last If u or email is nil在这个链中 然后我得到一个No
  • 为什么在 Android 上重定向 stdout/stderr 不起作用?

    我下载了 SDL 1 3 并在我的 android 2 2 设备上将其与 OpenGL ES 一起进行了测试 它工作正常 但我没有得到输出printf来电 我尝试了下面的命令 如安卓开发者页面 http developer android
  • 隐藏datagridview winform中的默认灰色列

    当数据不可用时 有什么方法可以删除或隐藏 winforms datagrid 灰色区域吗 其次 如何删除 隐藏默认的灰色列 dataGridView1 DataSource oresult dataGridView1 Columns Id
  • 是否有可用的公共 UDDI 注册中心?

    我目前正在尝试掌握 UDDI 并希望使用查询 API 运行一些示例 但我找不到可以使用 SOAP 消息查询的公共注册表 IBM Microsoft 和 SAP 几年前曾托管公共 UDDI 服务器 但后来已停止使用 I know xmetho
  • 同一行上的两个 Div 并居中对齐

    我有两个像这样的div div style border 1px solid 000 Div 1 div div style border 1px solid red Div 2 div 我希望它们显示在同一行 所以我使用float lef
  • 意外的顶级错误

    我一直在尝试许多解决方案 甚至启用了 multiDexEnabled true 但仍然收到此错误 UNEXPECTED TOP LEVEL ERROR 这是我的构建 android compileSdkVersion 22 buildToo
  • C 字符串与等号的比较

    我有这个代码 char name George if name George printf It s George 我认为c字符串不能与 标志 我必须使用strcmp 由于未知原因 当我使用 gcc 版本 4 7 3 编译时 此代码有效 我
  • Web 服务必须注册吗?

    我正在学习网络服务 我读过的大多数资源都讨论了如何在网络服务准备好供其他人使用时对其进行注册 使用该服务是否需要注册网络服务 例如 假设我在公司 Intranet 上有一个 Web 应用程序 并且我创建了另一个 Web 服务应用程序 该应用
  • 在程序集“”中发现了不止一种迁移配置类型。指定要使用的名称。关于添加迁移

    在包管理器控制台中 我正在尝试更新我的数据库 当我输入这个命令时 add migration Migration1 我明白了 在程序集中发现了不止一种迁移配置类型 我的项目 POCO 指定要使用的名称 我用谷歌搜索了这个错误 我得到了这个
  • 如何从 XMLHttpRequest 获取进度

    是否可以获得 XMLHttpRequest 的进度 上传的字节数 下载的字节数 当用户上传大文件时 这对于显示进度条很有用 标准 API 似乎不支持它 但也许任何浏览器中都有一些非标准扩展 毕竟 这似乎是一个非常明显的功能 因为客户端知道上
  • sharepoint aspx 页面的隐藏代码在哪里?

    毫无疑问 我在这里遗漏了一些非常明显的东西 但我是 sharepoint 的新手 所以请耐心等待 我已经成功添加了一个母版页 创建了一个内容类型 并为我的自定义内容类型创建了一个 aspx 页面 但我找不到它的 cs 文件 在共享点解决方案
  • 扩展 maxLines 属性时自动滚动多行 TextFormField

    我正在实现一个 TextFormField 其 maxLines 属性设置为 3 当用户从第四行开始时 如何使 TextFormField 向下滚动 目前 光标不再可见 直到用户手动向下滚动 有没有办法自动执行此操作 这种行为实际上在 fl