返回顶部
首页 > 资讯 > 移动开发 >Flutter TextField 输入框 简单使用
  • 667
分享到

Flutter TextField 输入框 简单使用

flutter前端android 2023-10-24 11:10:49 667人浏览 独家记忆
摘要

创建方式一: ///用于文本输入框TextEditinGController controller = new TextEditingController();/// 设置TextField中显示的内容 void setEditeInpu

创建方式一:

///用于文本输入框TextEditinGController controller = new TextEditingController();/// 设置TextField中显示的内容  void setEditeInputTextFunction(String flagText) {    controller .text = flagText;  }  /// 清除TextField中显示的内容  void clearEditeInputTextFunction() {    controller .text = "";    ///或者使用clear方法    controller .clear();  }  TextField(    controller: controller,    ///当TextField中输入的内容发生改变时回调    onChanged: (value) {      print("TextField 中输入的内容 $value");    },    decoration: InputDecoration(      hintText: "提示的内容",      helperStyle:TextStyle(        color: Colors.red,      ),    ),  ),

创建方式二:

///初始化控制器TextEditingController controller = new TextEditingController(text: "初始化的内容"); ///预设输入框的内容String preText = "";///控制 初始化的时候光标保持在文字最后    controller = TextEditingController.fromValue(      ///用来设置初始化时显示      TextEditingValue(        ///用来设置文本 controller.text = "0000"        text: preText,        ///设置光标的位置        selection: TextSelection.fromPosition(          ///用来设置文本的位置          TextPosition(              affinity: TextAffinity.downstream,              /// 光标向后移动的长度              offset: preText.length),        ),      ),    );///文本输入框  child: TextField(    controller: controller,    ///当TextField中输入的内容发生改变时回调    onChanged: (value) {      print("TextField 中输入的内容 $value");    },    decoration: InputDecoration(      hintText: "提示的内容",      helperStyle:TextStyle(        color: Colors.red,      ),    ),  ),
TextFiel属性详解:

TextField是一个material design风格的输入框,本身有多种属性,除此之外装饰器InputDecoration也有多种属性,但都比较简单,所以不必担心,且听我娓娓道来。

const TextField({    Key key,    this.controller,//控制器 跟文本交互一般通过该属性    this.focusnode,//焦点    this.decoration = const InputDecoration(),//装饰 用来装饰外观    TextInputType keyboardType,//键盘类型,即输入类型    this.textInputAction,//键盘按钮    this.textCapitalization = TextCapitalization.none,//大小写    this.style,//样式    this.strutStyle,    this.textAlign = TextAlign.start,//对齐方式    this.textDirection,    this.autofocus = false,//自动聚焦    this.obscureText = false,//是否隐藏文本,即显示密码类型    this.autocorrect = true,//自动更正    this.maxLines = 1,//最多行数,高度与行数同步    this.minLines,//最小行数    this.expands = false,    this.maxLength,//最多输入数,有值后右下角就会有一个计数器    this.maxLengthEnforced = true,    this.onChanged,//输入改变回调    this.onEditingComplete,//输入完成时,配合TextInputAction.done使用    this.onSubmitted,//提交时,配合TextInputAction    this.inputFORMatters,//输入校验    this.enabled,//是否可用    this.cursorWidth = 2.0,//光标宽度    this.cursorRadius,//光标圆角    this.cursorColor,//光标颜色    this.keyboardAppearance,    this.scrollPadding = const EdgeInsets.all(20.0),    this.dragStartBehavior = DragStartBehavior.start,    this.enableInteractiveSelection,    this.onTap,//点击事件    this.buildCounter,    this.scrollPhysics,  }) 

InputDecoration 属性

const InputDecoration({    this.icon,//左侧外的图标    this.labelText,//悬浮提示,可代替hintText    this.labelStyle,//悬浮提示文字的样式    this.helperText,//帮助文字    this.helperStyle,    this.hintText,//输入提示    this.hintStyle,    this.hintMaxLines,    this.errorText,//错误提示    this.errorStyle,    this.errorMaxLines,    this.hasFloatingPlaceholder = true,//是否显示悬浮提示文字    this.isDense,    this.contentPadding,//内填充    this.prefixIcon,//左侧内的图标    this.prefix,    this.prefixText,//左侧内的文字    this.prefixStyle,    this.suffixIcon,//右侧内图标    this.suffix,    this.suffixText,    this.suffixStyle,    this.counter,//自定义计数器    this.counterText,//计数文字    this.counterStyle,//计数样式    this.filled,//是否填充    this.fillColor,//填充颜色    this.errorBorder,    this.focusedBorder,    this.focusedErrorBorder,    this.disabledBorder,    this.enabledBorder,    this.border,//边框    this.enabled = true,    this.semanticCounterText,    this.alignLabelWithHint,  })。
图标

图标有3种:

  • 左侧外的图标
              TextField(                decoration: InputDecoration(                  icon: Icon(Icons.person),                ),              ),

  • 左侧内图标
            TextField(                decoration: InputDecoration(                  prefixIcon: Icon(Icons.phone_Android),                ),              ),

  • 右侧内图标
             TextField(                decoration: InputDecoration(                  suffixIcon: IconButton(                    icon: Icon(Icons.close),                    onPressed: () {                      controller.clear();                    },                  ),                ),              ),

在右侧图标加了一个IconButton,因为带有点击事件,我们可以在点击的时候清除TextField中的内容。

以上就是图标的介绍,其实除了图标之外,对应的位置也可以显示文字或者自定义显示其他widget 比如出了prefixIcon之外还有其他3个属性,用法跟上面介绍到的自定义计数器是一样的。

   this.prefix,   this.prefixText,   this.prefixStyle,
提示文字

提示文字有4种:

  • 输入提示文字
            TextField(                controller: controller,                decoration: InputDecoration(                  hintText: '提示内容(请输入....)',                ),              ),

  • 悬浮提示文字
            TextField(                controller: controller,                decoration: InputDecoration(                  hintText: '请输入...',                ),              ),

可以看到,默认显示labelText,聚焦之后才显示hintText,所以labelText是可以取代hintText的。

  • 帮助提示文字
   TextField(     controller: controller,     decoration: InputDecoration(    helperText: "帮助文字",     helperStyle: TextStyle(color: Colors.blue),    ), ),

一直显示在左下方

  • 错误提示文字
            TextField(                decoration: InputDecoration.collapsed(hintText: "无下划线的输入框"),              ),

去除下划线
            TextField(                decoration: InputDecoration.collapsed(hintText: "无下划线的输入框"),              ),

也可以decoration: null, 差别就是没有hintText了

边框:
               TextField(                decoration: InputDecoration(                  border: OutlineInputBorder(                    borderRadius: BorderRadius.all(Radius.circular(30)),                  ),                ),              ),

圆角:

               TextField(                decoration: InputDecoration(                  border: OutlineInputBorder(                    borderRadius: BorderRadius.all(Radius.circular(30)),                  ),                ),              ),

来源地址:https://blog.csdn.net/qq_28845393/article/details/131505818

--结束END--

本文标题: Flutter TextField 输入框 简单使用

本文链接: https://lsjlt.com/news/441305.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Flutter TextField 输入框 简单使用
    创建方式一: ///用于文本输入框TextEditingController controller = new TextEditingController();/// 设置TextField中显示的内容 void setEditeInpu...
    99+
    2023-10-24
    flutter 前端 android
  • Flutter输入框TextField属性及监听事件介绍
    textField用于文本输入,它提供了很多属性: const TextField({ ... TextEditingController controller, ...
    99+
    2024-04-02
  • Flutter——最详细(TextField)使用教程
    TextField简介 文本输入框,拥有复杂的属性。可指定控制器、文字样式、装饰线、行数限制、游标样式等。监听输入框变动事件。 使用场景: 搜索框,输入账号密码等 属性 作...
    99+
    2023-09-07
    flutter
  • Android使用Activity实现简单的可输入对话框
    1、需求分析众所周知,在应用中这样那样的评论总是少不了的,有的应用是在底部直接加一个EditText和一个Button,让用户输入文字或者表情之后点击按钮提交;而有的虽然也放置了EditText,但仅仅是一个“摆设”,并不具备输入功能,用户...
    99+
    2023-05-30
    android activity 输入对话框
  • AndroidCompose自定义TextField实现自定义的输入框
    目录概览简单自定义BasicTextField示例实现自定义样式的BasicTextField使用BasicTextField自定义百度输入框概览 众所周知Compose中默认的Te...
    99+
    2024-04-02
  • 如何用CSS实现简单大气的输入框
    这篇“如何用CSS实现简单大气的输入框”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何用CSS实现简单大气的输入框”文章吧...
    99+
    2023-07-05
  • Java的简单输入输出
    作为一种常用的编程语言,Java提供了多种输入输出的方式,用于与用户进行数据交互或处理文件数据。下面将介绍简单易懂的Java输入输出方法。 使用Scanner类进行输入操作 Scanner类是Java中常用的输入方式之一,它可以方便地从标...
    99+
    2023-09-14
    java
  • Android Compose自定义TextField如何实现自定义的输入框
    这篇文章主要介绍Android Compose自定义TextField如何实现自定义的输入框,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!简单自定义BasicTextField示例代码 var&n...
    99+
    2023-06-29
  • 前端小点:H5中textarea输入框的简单应用
    H5中的textarea输入框是一种用于接收多行文本输入的表单元素。可以通过以下步骤在H5中使用textarea输入框:1. 创建一...
    99+
    2023-09-21
    H5
  • 手把手教你用CSS实现简单大气的输入框
    .markdown-body{color:#383838;font-size:15px;line-height:30px;letter-spacing:2px;word-break:break-word;font-family:-apple...
    99+
    2023-05-14
    输入框 css
  • Flutter 如何封装文本输入框组件
    目录UI组件封装的考虑要点文本输入框接口定义代码实现组件使用踩坑记录总结UI组件封装的考虑要点 封装一个 UI 组件,通常需要考虑下面这三个点: 接口如何定义:即组件接收...
    99+
    2024-04-02
  • flutter微信聊天输入框功能实现
    目录chat_bottom.dartchat_element_other.dart chat_element_self.dart  chat_input...
    99+
    2023-03-02
    flutter 微信聊天输入框 flutter 聊天输入框 flutter 输入框
  • Java中简单的输入输出语句
    Java中简单的输入输出语句 一、输入语句 1.使用Scanner类 使用步骤: (1)导包 import java.util.Scanner; 这一步是必须要做的!!! (2)使用Scanner创建...
    99+
    2023-10-24
    java 算法 数据结构
  • ABP引入SqlSugar框架的简单版创建使用
    目录一 新建类库声明实体二 基本仓储三 实现SqlSugar的DB四 实现依赖注入五 应用层使用上一篇引入了Dapper框架,估计大家都会用了。但是很多都被封装,想探究原理的小伙伴就...
    99+
    2024-04-02
  • Android自定义密码输入框的简单实现过程
    目录一、实现效果及方案二、实现总结一、实现效果及方案 预期效果图: 如上图所示,要实现一个这种密码输入框的样式,原生并未提供类似的效果,所以需要自定义控件的方式实现。 预期的基...
    99+
    2024-04-02
  • Skywalking简单入门使用
    🏆今日学习目标: 🍀Skywalking简单入门使用 ✅创作者:林在闪闪发光 ⏰预计时间:50分钟 🎉个人主页:林在闪闪发光的个人主页  🍁林在闪闪发光的个人社区,欢迎你的加入...
    99+
    2023-08-31
    skywalking java 开发语言
  • 怎么使用Flutter开发简单的Web应用
    本篇内容主要讲解“怎么使用Flutter开发简单的Web应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Flutter开发简单的Web应用”吧!为 W...
    99+
    2024-04-02
  • PHP+Laravel框架RabbitMQ简单使用
    RabbitMQ安装教程请转到:RabbitMQ安装教程(超详细) 1、创建生产者 在app/Http/Controllers里创建一个php控制器文件, namespace App\Http\Controllers;use App\Htt...
    99+
    2023-09-08
    laravel php RabbitMQ
  • Flutter如何支持放大镜的输入框功能
    这篇文章将为大家详细讲解有关Flutter如何支持放大镜的输入框功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。功能需求最近需求开发中遇到一个Flutter开发问题,为了优化用户输入体验。产品同学希望能...
    99+
    2023-06-29
  • Flutter验证码输入框的2种方法实现
    目录重点是什么?从头开始制作 OTP 字段使用第三个包结论本文向您展示了在 Flutter 中实现完美的验证码输入框几种不同方法。 重点是什么? 真实世界的 完美的验证码输入框或 P...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作