【问题标题】:How to capitialize first letter of TextFormField in flutter如何在颤动中大写TextFormField的第一个字母
【发布时间】:2021-12-27 05:25:42
【问题描述】:

我正在尝试将 Textformfield 的第一个字母大写,为此我使用的是

textCapitalization: TextCapitalization.words,

但它不适用于Textformfield,但适用于textfield

请帮助如何做到这一点。

【问题讨论】:

    标签: flutter capitalization flutter-textformfield


    【解决方案1】:

    您可以尝试使用大写格式化程序,在TextFormField 中,您只需在输入格式化程序部分使用UpperCaseTextFormatter

    TextFormField(
                controller: _textEditingController,
                inputFormatters: <TextInputFormatter>[
                  UpperCaseTextFormatter()
                ],
              )
    

    上部文本格式化程序

    class UpperCaseTextFormatter extends TextInputFormatter {
      @override
      TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) {
        return TextEditingValue(
          text: capitalize(newValue.text),
          selection: newValue.selection,
        );
      }
    }
    String capitalize(String value) {
      if(value.trim().isEmpty) return "";
      return "${value[0].toUpperCase()}${value.substring(1).toLowerCase()}";
    }
    

    输出:

    【讨论】:

    • 句号后第一个字母大写怎么样?
    • 只是一句话
    【解决方案2】:
    TextFormField(
           textCapitalization: TextCapitalization.words,
           ),
    

    这将我们在 TextFormField 中键入的每个单词的首字母大写。

    设置 textCapitalization 后,尝试在您的模拟器或设备实例上重建并再次检查。让我知道它可以工作,

    【讨论】:

      【解决方案3】:

      试试下面的代码希望它对你有帮助。参考TextCapitalizationhere

      • 大写首字母TextCapitalization.words
      • 每个字母大写TextCapitalization.characters
      • 文本字段首字母大写TextCapitalization.sentences
      • 文本字段的默认小写字母TextCapitalization.none

      您的小部件:

         TextField(
            textCapitalization: TextCapitalization.words,
            decoration: InputDecoration(
              border: OutlineInputBorder(
                borderRadius: BorderRadius.circular(10),
              ),
              prefixIcon: Icon(
                Icons.search,
              ),
              hintText: 'Search',
            ),
          ),
      

      您的结果屏幕 ->

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-07-08
        • 1970-01-01
        • 1970-01-01
        • 2013-09-01
        • 2017-07-12
        • 2023-03-15
        • 2022-01-18
        • 1970-01-01
        相关资源
        最近更新 更多