第三百零一回

文章目录

  • 1. 概念介绍
  • 2. 实现方法
    • 2.1 obscureText属性
    • 2.2 decoration属性
  • 3. 示例代码
  • 4. 内容总结

我们在上一章回中介绍了"如何实现倒计时功能"相关的内容,本章回中将介绍如何实现密码输入框.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

在实际项目中会遇到输入密码需求,我们将在本章回中介绍如何实现密码输入框。该需求基于TextField组件实现,通过使用组件中相关的属性可以实现密码输入框功能.
我们在前面章回中介绍过TextFiled组件的基本用法,本章回中的内容可以看作是TextField组件的扩展用法。

2. 实现方法

实现密码输入框功能主要使用TextField组件的obscureText和decoration属性,接下来我们分别介绍这两个属性的用法:

2.1 obscureText属性

该属性主要用来控制显示或者隐藏输入框中的内容,这里说的隐藏是指输入密码时显示小黑点,而不是具体的内容。该属性是bool类型,它的值为true时正常显示输入框
中的内容,它的值为false时隐藏显示输入框中的内容。

2.2 decoration属性

该属性主要用来显示密码图标,点击图标后可以显示或者隐藏输入框中输入的内容。我们通常使用InputDecoration组件给它赋值,同时在该组件的suffixIcon属性
中存放一个IconButton组件,这样就可以通过点击图标按钮来显示或者隐藏输入框中的内容。我们将在后面的小节中通过具体的示例代码来演示。

3. 示例代码

TextField(obscureText: !isPasswordVisible,keyboardType: TextInputType.text,decoration: InputDecoration(///用来去掉输入框下面的横线border: InputBorder.none,///实现显示和隐藏密码功能suffixIcon: IconButton(icon:isPasswordVisible ? const Icon(Icons.visibility) : const Icon(Icons.visibility_off),onPressed: () {setState(() {isPasswordVisible = !isPasswordVisible;});},),),///这里的值配合光标监听器和两个border一起实现红色边框错误提示功能onChanged: (value) {setState(() {pwdValue = value;});},
),

我们在上面示例代码中定义了一个bool类型的变量isPasswordVisible,并且将它赋值给obscureText属性。然后在点击按钮时修改它的值,这样就可以显示或者隐
藏输入框中的内容。此外,这个值还用来控制图标的样式,代码中使用了睁眼和闭眼两个图标,它的值为true时显示睁眼图标,反之显示闭眼图标。这里的按钮就是存放
在suffixIcon属性中的组件,它会在输入框最右侧显示一个睁眼或者闭眼的图标。

4. 内容总结

最后,我们对本章回的内容做一个全面的总结:

  • 使用TextField组件的obscureText属性可以显示或者隐藏输入框中内容;
  • 使用TextField组件的decoration属性可以在输入框最右侧显示一个图标;
  • 在图标中响应点击事件,并且在点击事件中修改bscureText的属性值;
  • 修改bscureText的属性值时要及时更新组件的状态,不然修改后也没有效果;
    看官们,与"如何实现密码输入框"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/661399.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis的哨兵模式

Redis的哨兵模式 1、什么是哨兵模式? 能够自动监控master是否发生故障,如果故障了会根据投票数从slave中挑选一个作为master,其他的slave会自动转向同步新的master,实现故障自动转义。 2、原理 sentinel会按照指定的频率给mas…

代码随想录算法训练营第二十三天|669. 修剪二叉搜索树、108. 将有序数组转换为二叉搜索树、538. 把二叉搜索树转换为累加树。

669. 修剪二叉搜索树 题目链接:修剪二叉搜索树 题目描述: 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对…

yolov5导出onnx模型问题

为了适配C工程代码,我在导出onnx模型时,会把models/yolo.py里面的forward函数改成下面这样, #转模型def forward(self, x):z [] # inference outputfor i in range(self.nl):x[i] self.m[i](x[i]) # convbs, _, ny, nx x[i].shape # x(…

超级详细——手撕贪吃蛇小游戏!

目录 前言 1. Win32 API介绍 1.1 Win32 API 1.2 控制台程序 1.3 控制台屏幕上的坐标COORD 1.4 GetStdHandle 1.5 GetConsoleCursorInfo 1.6 CONSOLE_CURSOR_INFO 1.7 SetConsoleCursorInfo 1.8 SetConsoleCursorPosition 1.8 GetAsyncKeyState 2.贪吃蛇游戏设计 2.…

物联网浏览器(IoTBrowser)-Modbus协议集成和测试

Modbus协议在应用中一般用来与PLC或者其他硬件设备通讯,Modbus集成到IoTBrowser使用串口插件模式开发,不同的是采用命令函数,具体可以参考前面几篇文章。目前示例实现了Modbus-Rtu和Modbus-Tcp两种,通过js可以与Modbus进行通讯控制…

代码随想录算法训练营第三十六天| 435. 无重叠区间、763.划分字母区间、56. 合并区间

435. 无重叠区间 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 解题思路:按左边界进行由小到大排序,然后前一个的右边界和后一个的左边界相比,看是否相交,如果相交,…

【EI会议征稿中|ACM出版】#先投稿,先送审#第三届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2024)​

#先投稿,先送审#ACM出版#第三届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2024) 2024 3rd International Conference on Cyber Security, Artificial Intelligence and Digital Economy 2024年3月8日-10日 | 中国济南 会议官网&…

oracle数据库慢查询SQL

目录 场景: 环境: 慢SQL查询一: 问题一:办件列表查询慢 分析: 解决方法: 问题二:系统性卡顿 分析: 解决方法: 慢SQL查询二 扩展: 场景: 线…

CXO清单:低代码平台必备的16个基本功能:从需求到实现的全面指南

对于 CIO、CTO 和 CDO(在此统称为 CXO)来说,认识到快速变化的技术和竞争格局以及他们在组织中的角色变化至关重要。处理持续不断的软件开发请求、考虑不断变化的业务流程、提高客户和法规的透明度、提高企业数据安全性以及在短时间内扩展基础…

精酿啤酒:麦芽汁的煮沸与沸腾时间的影响

在啤酒酿造过程中,麦芽汁的煮沸与沸腾时间是关键的工艺参数,对啤酒的品质和口感具有显著影响。对于Fendi Club啤酒来说,合理控制煮沸与沸腾时间更是重要。 首先,麦芽汁的煮沸时间对啤酒的口感和稳定性有重要影响。煮沸时间过短&am…

如何使用宝塔面板搭建MySQL 5.5数据库并实现公网远程连接

文章目录 前言1.Mysql服务安装2.创建数据库3.安装cpolar3.2 创建HTTP隧道 4.远程连接5.固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 宝塔面板的简易操作性,使得运维难度降低,简化了Linux命令行进行繁琐的配置,下面简单几步,通过宝塔面板cp…

详解Keras3.0 Layer API: Base RNN layer

RNN layer keras.layers.RNN(cell,return_sequencesFalse,return_stateFalse,go_backwardsFalse,statefulFalse,unrollFalse,zero_output_for_maskFalse,**kwargs ) 参数说明 cell: 这是循环神经网络的单元类型,可以是LSTM、GRU等。它定义了循环神经网络的基本单…

linux系统上C程序的编译、运行及调试-gcc

gcc -o timer timer.c :生成可执行文件main,依托main.c,也可依托多个文件./timer :运行代码

【0254】深入分析Query Execution(二)

上一篇:【0253】深入分析Query Execution(一) 1. 转换(Transformation) 在下一阶段,可以对查询进行转换(重写, rewritten)。 PostgreSQL核心使用转换有几个目的。其中之一是将解析树中的视图名称替换为与该视图的基本查询相对应的子树。 使用转换的另一种情况是行级…

Skywalking的Trace Profiling 代码级性能剖析功能应用详解

代码级性能剖析 Skywalking 提供了Trace Profiling功能对具体出现问题的span进行代码级性能剖析。 代码级性能剖析就是利用方法栈快照,并对方法执行情况进行分析和汇总。并结合有限的分布式追踪 span 上下文,对代码执行速度进行估算。性能剖析激活时&a…

[C#][opencvsharp]winform实现自定义卷积核锐化和USM锐化

【锐化介绍】 图像锐化(image sharpening)是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,分为空间域处理和频域处理两类。图像锐化是为了突出图像上地物的边缘、轮廓,或某些线性目标要素的特征。这种滤波方法…

【Python_PySide6学习笔记(三十三)】文本编辑框QTextEdit添加图片

文本编辑框QTextEdit添加图片 文本编辑框QTextEdit添加图片前言一、创建 QTextEdit 对象二、通过 QImage 加载图片,并调整图片的大小及比例三、创建 QTextCursor 对象四、通过QTextCursor 对象的 insertImage() 将图片插入到 QTextEdit 中五、完整代码及实现效果文本编辑框QTe…

详细分析SpringSecurity中的@PreAuthorize注解

目录 1. 基本知识2. 使用方式2.1 配置类2.2 直接使用 1. 基本知识 在Java中,PreAuthorize 是Spring Security框架中的一个注解,用于在方法调用之前对用户的权限进行验证。 允许在方法级别定义访问控制规则,确保只有满足指定条件的用户才能调…

boost asio对于epoll关闭套接字顺序

其方法定义在 boost::system::error_code reactive_socket_service_base::close(reactive_socket_service_base::base_implementation_type& impl,boost::system::error_code& ec) {if (is_open(impl)){BOOST_ASIO_HANDLER_OPERATION(("socket", &impl,…

HarmonyOS ArkUI基础学习01

以下涉及的项目源码地址: https://gitee.com/jiangqianghua/harmony-test 更多学习资源资源点我获取 1. 一些常用组件方法 加载resource/base/element/string.json资源 Text($r("app.string.Username_label"))设置颜色 Color.red“#ff00ff”读取资源文…