输入框的使用及属性

首页模块中会使用到TextField的使用,用来使用文本的获取,以及传值等使用。

在Flutter中,TextField是一个用于输入文本的小部件,它具有以下属性:

  1. text: 文本字段中的当前文本。
  2. maxLength: 文本字段的最大长度。
  3. maxLines: 文本字段的最大行数。
  4. decoration: 文本字段的装饰,例如边框、颜色等。
  5. style: 文本字段的样式,例如字体、颜色等。
  6. controller: 文本字段的控制器,用于控制文本的输入和显示。
  7. obscureText: 是否隐藏文本字段中的内容。
  8. overflow: 文本字段是否溢出。
  9. textInputAction: 文本输入动作,例如提交、清除等。
  10. autofocus: 是否自动聚焦到文本字段。
  11. inputFormatters: 输入格式化器,用于格式化输入的文本。
  12. inputSizing: 输入大小调整,用于调整文本字段的大小。

这些属性提供了对TextField小部件的基本配置和控制,例如设置最大长度、调整样式和设置输入动作等。

TextFiled的设置也会使用到输入框的样式设置,会使用到decoration这个属性,一下是部分的decoration的属性。

在Flutter中,TextFielddecoration属性用于设置文本字段的装饰,它是一个InputDecoration对象。InputDecoration具有以下属性:

  1. border: 是否显示文本字段的边框。
  2. borderColor: 文本字段边框的颜色。
  3. borderRadius: 文本字段边框的圆角大小。
  4. prefix: 文本字段前面的图标或文字。
  5. suffix: 文本字段后面的图标或文字。
  6. contentPadding: 文本字段内部的内容间距。
  7. counterText: 计数器的文本。
  8. counterOverflow: 计数器是否溢出。
  9. hintText: 提示文本,当文本字段为空时显示。
  10. hintStyle: 提示文本的样式。
  11. textFieldHasFloatingButton: 是否显示悬浮按钮。
  12. textFieldHasCounter: 是否显示计数器。
  13. textFieldHasFloatingCursor: 是否显示浮动光标。
  14. textFieldHasClearButton: 是否显示清除按钮。
  15. textFieldHasError: 是否显示错误消息。
  16. textFieldHasErrorDecoration: 是否显示错误装饰。

这些属性用于控制文本字段的外观和行为,例如设置边框、调整内部间距、显示提示文本和错误消息等。

以下是一个简单的案例:

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        mainAxisAlignment: MainAxisAlignment.start,
        children: [
          Container(
            child: ClipRRect(
              borderRadius: BorderRadius.circular(30),
              child: TextField(
                //TODO 输入文本的存储,设置的一个属性_controller
                controller: _controller,
                decoration: InputDecoration(
                  isDense: true,
                  filled: true,
                  //TODO 输入框中的填充颜色
                  fillColor: Color(0xFFBBEAEF),
                  //TODO 下滑线的设置
                  border: InputBorder.none,
                  //TODO suffix输入框中的一个按钮的设置
                  suffixIcon: TextButton(
                      onPressed: () {
                        //TODO TextEditingController的转换成String类型
                        var str = _controller.text.trim().toString();
                        //TODO 跳转
                        Navigator.push(context,
                            MaterialPageRoute(builder: (context) {
                          return Interface(str);
                        }));
                      },
                      child: Text("查询")),
                  hintText: "请输入城市",
                ),
                //TODO 焦点
                focusNode: FocusNode(),
                //TODO 输入框中的文字颜色
                style: const TextStyle(fontSize: 16, color: Color(0xFF000000)),
              ),
            ),
          ),
        ],
      ),
    );
  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值