Flutter中的基本组件

这篇具有很好参考价值的文章主要介绍了Flutter中的基本组件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


1.Text组件

Text组件(简单样式文本框组件)用于显示简单的样式文本,它的常用属性如下表所示。
Flutter中的基本组件
TextStyle的常用属性如下表所示。
Flutter中的基本组件

2. RichText组件(富文本组件)

RichText组件(丰富文本组件)是Flutter提供的一个可以展示多种样式的Widget,经常应用于一个完整的字符串中实现不同文本片段的字体颜色、大小等风格确不同的场景。TextSpan的属性和功能说明如表所示。
Flutter中的基本组件
Flutter中的基本组件

RichText({
    super.key,
    required this.text,
    this.textAlign = TextAlign.start,
    this.textDirection,
    this.softWrap = true,
    this.overflow = TextOverflow.clip,
    this.textScaleFactor = 1.0,
    this.maxLines,
    this.locale,
    this.strutStyle,
    this.textWidthBasis = TextWidthBasis.parent,
    this.textHeightBehavior,
    this.selectionRegistrar,
    this.selectionColor,
  })

Flutter中的基本组件
实现效果:
Flutter中的基本组件

3.TextField组件

TextField组件(输人框组件)用于在应用程序中输入用户名、密码、查找内容等。

  1. maxLength
    maxLength属性用于设置输入框中可以输入的最大字符长度,并在输入框的右下角有当前输入长度与最大长度的对比显示。
    Flutter中的基本组件

  2. maxLines
    maxLines属性用于设置允许展现的最大行数。
    例如:在页面上最多可以输入130个字符,并且可以自动换2行或任意行
    Flutter中的基本组件

  3. obscureText
    obscureText属性用于设置是否隐藏输入的内容,该属性常用于密码输入框。

  4. enablelnteractiveSelection
    enablelnteractiveSelection属性用于设置长按是否出现“剪切/复制/粘贴”菜单。

TextField(maxLength: 8,maxLengthEnforced:true,enableInteractiveSelection: false);
  1. textCapitalization
    textCapitalization 属性用于设置输人字符的大小写。
TextField(textCapitalization:TextCapitalization.words);//单词第一个字母大写
TextField(textCapitalization:TextCapitalization.sentences);//句子第一个字母大写

6.keyboardType
keyboardType属性用于设置输入内容时软键盘的类型。

TextField(keyboardType:TextInputType.number);//数字键盘
TextField(keyboardType:TextInputType.phone);//电话键盘
TextField(keyboardType:TextInputType.datetime);//日期键盘
......
  1. decoration
    decoration属性用于设置输入框的修饰。该属性值为InputDecoration类型。
    lnputDecoration控制输入框提示信息样式的常用属性如下:
    (1) icon:设置输入框左侧显示图标。
    (2) labelText:设置输人框描述信息,当输入框获取焦点时默认会浮动到上方。
    (3) helperText:设置输入框辅助信息,位于输入框下方。
    Flutter中的基本组件
    (4) errorText:设置输人框中内容输人错误时的错误提示信息。
    (5) hintText:设置输入框内的提示信息。该属性可以与hintStyle属性配合使用, hintStyle属性用于设置输人框内提示信息的文本样式,它的属性值为TextStyle类型。
    (6) prefixlcon:设置输人框内的前置图标,使用方法与icon属性一样,但图标位于icon属性所设置图标的右侧。
    (7 ) prefixText:设置输入框内的前置文本,该属性可以与prefixStyle属性配合使用, prefixStyle属性用于设置输入框内前置的文本样式,它的属性值为TextStyle类型。
    (8) suffixlcon:设置输入框内的后置图标,使用方法与icon属性一样,但图标位于输入框的右侧。
    (10) counterText:设置输入框右下方显示的文本,常用于显示输入的字符数量,该属性可以与counterStyle属性配合使用, counterStyle属性用于设置输入框右下方的文本样式,它的属性值为TextStyle类型。
    (11 ) counter:设置输入框右下方的Widget小组件,但不能与counterText同时使用。
    (12) filled:设置填充输入框的背景色,如果它的值为true,则用fillColor属性指定的颜色作为输人框的背景色.fillColor属性用于设置输入框的背景颜色,它的属性值类型为Color类型。
    lnputDecoration控制输入框外边框样式的常用属性
    (1) border:设置输入框的边框线。默认有边框线,在输人框没有获得焦点时,外边框线为灰色;在输入框获得焦点时,外边框线为黄色。该属性值可以为:
    ①InputBorder.none,设置输入框无边框线;
    ②OutlinelnputBorder,设置输入框边框线样式;
    ③UnderlinelnputBorder,设置输入框下边框线样式。
    (2) enabledBorder:设置可用状态输入框的边框线颜色、边角弧度等,该属性值与border属性相同。
    Flutter中的基本组件
    (3) focusedBorder:设置获得焦点时输人框的边框线的颜色、边角弧度等,使用方法与enabledBorder属性相同。
    Flutter中的基本组件

  2. textInputAction属性用于设置键盘上动作按钮的类型。TextlnputAction是一个枚举类型,动作按钮显示样式及功能下表所示。具体使用时,还需要考虑Android和iOS平台的兼容性问题.。Flutter中的基本组件

  3. onChange
    onChange属性用于输入框输入文本发生变化时的回调方法,参数即为输入框中的值。

  4. onEditingComplete
    onEditingComplete属性用于点击键盘的动作按钮时的回调,没有参数。

  5. onSubmitted
    onSubmitted属性用于点击键盘的动作按钮时的回调,参数为当前输入框中的值。

  6. onTap
    onTap属性用于点击输入框时的回调,没有参数。

  7. inputFormatters
    inputFormatters属性用于限制输入框中输入的的容.该属性值为TextInputFormatter类型的集合。TextInputFormatter类型的集合用于设置输人框输入内容的校验规则,具体包括以下三类校验规则,它们都是用RegExp ()定义的正则表达式。
    (1) FilteringTextInputFormatter.allow (白名单校验),表示只允许输入符合规则的字符;
    (2)FilteringTextInputFormatter.deny(黑名单校验),表示除了规定的字符,其他的都可以输入;
    LengthLimitingTextInputFormatter (长度限制),功能与maxLength属性作用类似。

//允许输入大小写字母,但是禁止abF!.
inputFormatters: [     
                 FilteringTextInputFormatter.allow(RegExp('[a-zA-Z]')),
                 FilteringTextInputFormatter.deny(RegExp('[abFeG]')),
             
            ],
  1. controller
    controller属性用于控制输入框中的内容,包括向输入框中赋值和从输入框中取值。该属性值为TextEditngController类型。
    例如,实现下图的显示效果,并且当点击“确定”按钮后,将输入榧中的内容显示在文本框中。
    Flutter中的基本组件

4.按钮组件

按钮组件是应用程序中用于交互的最常用的组件之一,MaterialWidget库中提供了多种按钮Widget,如 RaisedButton(凸起按钮组件)、FlatButton (扁平按钮组件)和OutlineButton(带边框按钮组件)等,它们都是直接或间接对RawMaterialButton的包装定制,从而形成不同的外观样式,所以它们的属性和使用方法基本一样。
Flutter中的基本组件

  1. RaisedButton
    RaisedButton按钮默认有阴影和灰色背景,在按下后阴影还会逐渐变深.下面列出8种类型的Raisebutton按钮实现代码,读者可以将这些代码稍作变化后应用到实际的应用开发场景中。
    (1)默认按钮
    (2)带有文本、背景颜色按钮
    (3)带有文本、背景颜色的禁用按钮
    (4)带有按下时水波纹颜色按钮
    (5)带有主题高亮按钮
    (6)带有下面阴影大小按钮
    (7)带有高亮时阴影按钮代
    (8)带有水波纹高亮变化回调事件按钮

新版本的Flutter中没有RaisedButton,改为了 ElevatedButton文章来源地址https://www.toymoban.com/news/detail-445133.html

          //登录按钮
          ElevatedButton(
              onPressed: (){
                print("这是注册页");
                Navigator.pushNamed(context, '首页');
              },
              child: Text('登录',
                style: TextStyle(
                  fontSize: 17,
                ),
              ),
              //设置按钮样式
              style: ButtonStyle(
                fixedSize: MaterialStateProperty.all(const Size(400,40)),//按钮大小
              ),

          ),

到了这里,关于Flutter中的基本组件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redux - Redux在React函数式组件中的基本使用

    Redux 是 JavaScript 应用的状态容器,提供可预测的状态管理。 它主要的几个方法如下: 重要的有方法 有 dispatch(分发action) 、 getState(获取state) 、 subscribe(监听state的变化) ,下面会介绍到,另外两个可以不用管; 那什么时候使用Redux呢? 当遇到如下问题时,建议开始使

    2024年02月13日
    浏览(46)
  • esp32 添加官方组件库中的头文件提示“No such file or directory”【已解决】

    windows下vscode ssh到Linux对esp32项目进行操作。 使用espadf框架下的wwe例程添加#include \\\"baidu_access_token.h\\\"头文件 编译报错: …/main/main.c:55:10: fatal error: baidu_access_token.h: No such file or directory #include “baidu_access_token.h” ^~~~~~~~~~~~~~~~~~~~~~ 打开main文件夹下的CMakeLists.txt文件,在set(COMPONEN

    2024年02月13日
    浏览(51)
  • 解析Apache Kafka:在大数据体系中的基本概念和核心组件

    关联阅读博客文章:探讨在大数据体系中API的通信机制与工作原理 关联阅读博客文章:深入解析大数据体系中的ETL工作原理及常见组件 关联阅读博客文章:深度剖析:计算机集群在大数据体系中的关键角色和技术要点 关联阅读博客文章:深入理解HDFS工作原理:大数据存储和

    2024年04月10日
    浏览(61)
  • Flutter系列文章-Flutter进阶

    在前两篇文章中,我们已经了解了Flutter的基础知识,包括Flutter的设计理念、框架结构、Widget系统、基础Widgets以及布局。在本文中,我们将进一步探讨Flutter的高级主题,包括处理用户交互、创建动画、访问网络数据等等。为了更好地理解这些概念,我们将通过实际的示例代码

    2024年02月16日
    浏览(55)
  • Flutter系列文章-Flutter基础

    Flutter是Google推出的一种新的移动应用开发框架,允许开发者使用一套代码库同时开发Android和iOS应用。它的设计理念、框架结构、以及对Widget的使用,都让开发者能更有效率地创建高质量的应用。 Flutter的设计理念是“一切皆为Widget”。这意味着不论是按钮、字体、颜色、布局

    2024年02月16日
    浏览(45)
  • Flutter系列文章-Flutter 插件开发

    在本篇文章中,我们将学习如何开发 Flutter 插件,实现 Flutter 与原生平台的交互。我们将详细介绍插件的开发过程,包括如何创建插件项目、实现方法通信、处理异步任务等。最后,我们还将演示如何将插件打包并发布到 Flutter 社区。 在 Flutter 项目中,你可能需要与原生平台

    2024年02月11日
    浏览(39)
  • Flutter系列文章-Flutter应用优化

    当涉及到优化 Flutter 应用时,考虑性能、UI 渲染和内存管理是至关重要的。在本篇文章中,我们将通过实例深入讨论这些主题,展示如何通过优化技巧改进你的 Flutter 应用。 1. 使用 const 构造函数 在构建小部件时,尽可能使用 const 构造函数来创建静态小部件。这将避免在每次

    2024年02月11日
    浏览(40)
  • Flutter系列文章-Flutter进阶2

    这一节我将再详细地为您介绍 Flutter 进阶主题,包括导航和路由、状态管理、异步处理、HTTP请求和Rest API,以及数据持久化。让我们逐个介绍这些主题。 在 Flutter 中,导航和路由是构建多页面应用的关键概念。导航是指从一个页面(或称为路由)切换到另一个页面的过程。每

    2024年02月15日
    浏览(43)
  • Flutter系列文章-Flutter UI进阶

    在本篇文章中,我们将深入学习 Flutter UI 的进阶技巧,涵盖了布局原理、动画实现、自定义绘图和效果、以及 Material 和 Cupertino 组件库的使用。通过实例演示,你将更加了解如何创建复杂、令人印象深刻的用户界面。 Row 和 Column 是常用的布局组件,但灵活地使用它们可以带来

    2024年02月13日
    浏览(36)
  • Flutter系列文章-Flutter环境搭建和Dart基础

    Flutter是Google推出的一个开源的、高性能的移动应用开发框架,可以用一套代码库开发Android和iOS应用。Dart则是Flutter所使用的编程语言。让我们来看看如何搭建Flutter开发环境,并了解Dart语言的基础知识。 1. 安装Flutter SDK 首先,访问Flutter官网下载Flutter SDK。选择适合你操作系统

    2024年02月15日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包