Flutter - 文本字段标签溢出切断文本

Posted

技术标签:

【中文标题】Flutter - 文本字段标签溢出切断文本【英文标题】:Flutter - Textfield label overflow cutting off text 【发布时间】:2020-06-01 04:51:33 【问题描述】:

我正在做一个 Flutter 项目,我已经实现了一个带有 TextFormField 的表单,我们有一些带有很长标签的字段,并且因为它们很长,Flutter 我们将文本删除并添加...最后,是否可以设置溢出,使标签文本变为 2 行而不是切断文本?

TextFormField(
          key: GlobalKey(),
          controller: _textEditingController,
          focusNode: _focusNode,
          obscureText: true,
          keyboardType: TextInputType.text,
          textInputAction: TextInputAction.done,
          decoration: widget.decorations.copyWith(
            errorText:
                widget.field["error"] != null ? widget.field["error"] : null,
            labelText: "A VERY VERY VERY VERY VERY VERY LONG LABEL",
            hintText: widget.field["helpText"],
            helperStyle: TextStyle(
              color: Colors.black,
            ),
          ),
          onFieldSubmitted: widget.onFieldSubmitted,
          onSaved: widget.onSaved,
          onTap: widget.onTap,
        ),

【问题讨论】:

试试这个,pub.dev/packages/auto_size_text 您好,感谢您的回复,我认为这不适用于文本字段标签, 为什么不喜欢普通的html,你添加一个标题属性,当有人将鼠标悬停在它上面时,标签就会出现,一个技巧。 我确信labelText: "A VERY VERY VERY VERY VERY VERY LONG LABEL", 需要一个字符串,你不能给它分配一个小部件 maxLines 属性可用于您的示例中提到的TextFormField。检查这个,***.com/questions/45900387/… 和这个,***.com/questions/43348254/… 【参考方案1】:

我在尝试解决相同问题时找到了this solution。尝试使用 decoration 属性并将 errorMaxLines 属性设置为大于 1 的数字。 例如

TextField(
     keyboardType: TextInputType.number,
     decoration: InputDecoration(
     errorMaxLines: 2,),)

【讨论】:

您提供的解决方案是关于错误文本而不是labelText

以上是关于Flutter - 文本字段标签溢出切断文本的主要内容,如果未能解决你的问题,请参考以下文章

溢出隐藏文本被切断

Flexbox对齐项目溢出文本在顶部被切断[重复]

关于网站开发中div标签中设置宽度后其中文本溢出的原因和解决方法

如何模仿文本溢出:Firefox 中的省略号?

SwiftUI:文本字段被切断

Flutter Row 小部件通过切断剩余区域解决 RenderFlex 溢出问题