HarmonyOS ArkUI实战开发-手势密码(PatternLock)

ArkUI开发框架提供了图案密码锁 PatternLock 组件,它以宫格图案的方式输入密码,用于密码验证,本节读者简单介绍一下该控件的使用。

PatternLock定义介绍

interface PatternLockInterface {(controller?: PatternLockController): PatternLockAttribute;
}declare class PatternLockController {constructor();reset();
}

PatternLock 在使用的时候,接收一个 PatternLockController 类型的控制器,该控制器用来控制组件的状态,比如重置解锁状态。

简单样例如下所示:

@Entry @Component struct PatternLockTest {build() {Column({space: 10}) {PatternLock(this.patternLockController)}.width('100%').height('100%').padding(10)}
}

PatternLock属性介绍

declare class PatternLockAttribute extends CommonMethod<PatternLockAttribute> {sideLength(value: Length): PatternLockAttribute;circleRadius(value: Length): PatternLockAttribute;backgroundColor(value: ResourceColor): PatternLockAttribute;regularColor(value: ResourceColor): PatternLockAttribute;selectedColor(value: ResourceColor): PatternLockAttribute;activeColor(value: ResourceColor): PatternLockAttribute;pathColor(value: ResourceColor): PatternLockAttribute;pathStrokeWidth(value: number | string): PatternLockAttribute;onPatternComplete(callback: (input: Array<number>) => void): PatternLockAttribute;autoReset(value: boolean): PatternLockAttribute;
}
  • sideLength:设置组件的宽度和高度,默认值为 300vp ,最小可以设置为 0。
  • circleRadius:设置宫格圆点的半径,默认值为 14vp 。
  • regularColor:设置宫格圆点在 “未选中” 状态的填充颜色,默认值为黑色。
  • selectedColor:设置宫格圆点在 “选中” 状态的填充颜色,默认值为黑色。
  • activeColor:设置宫格圆点在 “激活” 状态的填充颜色,默认值为黑色。
  • pathColor:设置连线的颜色,默认值为蓝色。
  • pathStrokeWidth:设置连线的宽度,默认值为 34vp ,最小可以设置为0。
  • autoReset:设置是否支持用户在完成输入后再次触屏重置组件状态。如果设置为 true ,用户可以通过触摸图案密码锁重置组件状态(清除之前的输入效果);如果设置为 false ,用户手指离开屏幕完成输入后,再次触摸图案密码锁(包括圆点)不能改变之前的输入状态。

PatternLock属性介绍

declare class PatternLockAttribute extends CommonMethod<PatternLockAttribute> {onPatternComplete(callback: (input: Array<number>) => void): PatternLockAttribute;
}
  • onPatternComplete:密码输入结束时被调用的回调函数,input: 与选中宫格圆点顺序一致的数字数组,数字为选中宫格的索引(0 到 8)。

PatternLock完整样例:

@Entry @Component struct PatternLockTest {@State passwords: Number[] = []@State message: string = '请验证密码'private patternLockController: PatternLockController = new PatternLockController()build() {Column({space: 10}) {Text(this.message).textAlign(TextAlign.Center).fontSize(22)PatternLock(this.patternLockController).sideLength(200)            // 设置宽高.circleRadius(7)            // 设置圆点半径.regularColor(Color.Red)    // 设置圆点颜色.pathStrokeWidth(10)        // 设置连线粗细.backgroundColor(Color.Pink)// 设置背景色.autoReset(true)            // 支持用户在完成输入后再次触屏重置组件状态.onPatternComplete((input: Array<number>) => {if (input == null || input == undefined || input.length < 5) {this.message = "密码长度至少为5位数。";return;}if (this.passwords.length > 0) {if (this.passwords.toString() == input.toString()) {this.passwords = inputthis.message = "密码设置成功"} else {this.message = '密码输入错误'}} else {this.passwords = inputthis.message = "密码输入错误"}})Button('重置密码').onClick(() => {this.passwords = [];this.message = '请验证手势密码';this.patternLockController.reset();})}.width('100%').height('100%').padding(10)}
}

小结:

文档描述说该组件从 API 8 版本开始提供,但是笔者使用的 API 8(3.1.5.5 和 3.1.6.5)版本并没有该组件,其实 SDK 里边是提供了实现的,只是没有提供相应的 dts 文件,上述样例是笔者根据文档自己添加的 dts 文件,读者如果想在 API 8 版本上使用该组件,也可自行添加 dts 文件。

码牛课堂也为了积极培养鸿蒙生态人才,让大家都能学习到鸿蒙开发最新的技术,针对一些在职人员、0基础小白、应届生/计算机专业、鸿蒙爱好者等人群,整理了一套纯血版鸿蒙(HarmonyOS Next)全栈开发技术的学习路线。大家可以进行参考学习:https://qr21.cn/FV7h05

①全方位,更合理的学习路径
路线图包括ArkTS基础语法、鸿蒙应用APP开发、鸿蒙能力集APP开发、次开发多端部署开发、物联网开发等九大模块,六大实战项目贯穿始终,由浅入深,层层递进,深入理解鸿蒙开发原理!

②多层次,更多的鸿蒙原生应用
路线图将包含完全基于鸿蒙内核开发的应用,比如一次开发多端部署、自由流转、元服务、端云一体化等,多方位的学习内容让学生能够高效掌握鸿蒙开发,少走弯路,真正理解并应用鸿蒙的核心技术和理念。

③实战化,更贴合企业需求的技术点
学习路线图中的每一个技术点都能够紧贴企业需求,经过多次真实实践,每一个知识点、每一个项目,都是码牛课堂鸿蒙研发团队精心打磨和深度解析的成果,注重对学生的细致教学,每一步都确保学生能够真正理解和掌握。

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙开发学习手册》:https://qr21.cn/FV7h05

如何快速入门:

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ……

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ……

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ……

鸿蒙开发面试真题(含参考答案):https://qr21.cn/FV7h05

大厂鸿蒙面试题::https://qr18.cn/F781PH

鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH

1.项目开发必备面试题
2.性能优化方向
3.架构方向
4.鸿蒙开发系统底层方向
5.鸿蒙音视频开发方向
6.鸿蒙车载开发方向
7.鸿蒙南向开发方向

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

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

相关文章

Hadoop3:HDFS、YARN、MapReduce三部分的架构概述及三者间关系(Hadoop入门必须记住的内容)

一、HDFS架构概述 Hadoop Distributed File System&#xff0c;简称HDFS&#xff0c;是一个分布式文件系统。 1&#xff09;NameNode(nn)&#xff1a;存储文件的元数据&#xff0c;如文件名&#xff0c;文件目录结构&#xff0c;文件属性&#xff08;生成时间、副本数、文件…

探索数学语言模型的前沿进展——人工智能在数学教育和研究中的应用

数学一直被认为是科学的基石&#xff0c;对于推动技术进步和解决现实世界问题具有重要意义。然而&#xff0c;传统的数学问题解决方式正面临着数字化转型的挑战。MLMs的出现&#xff0c;预示着数学学习和研究方式的一次革命。 MLMs&#xff0c;包括预训练语言模型&#xff08;…

RoadBEV:鸟瞰视图下的路面重建

作者&#xff1a;Tong Zhao&#xff0c;Lei Yang&#xff0c;Yichen Xie等 编译&#xff1a;董亚微一点人工一点智能 RoadBEV&#xff1a;鸟瞰视图下的路面重建https://mp.weixin.qq.com/s/hDNHwvpFe39doiXlVc-d7Q 摘要&#xff1a;道路的路面状况&#xff0c;特别是几何轮廓…

在誉天学习云计算HCIE,担心考试考不过?

誉天定制化课程内容覆盖了所有考试重点&#xff0c;可以系统地掌握理论与实践知识。 对于笔试&#xff0c;类似于备考驾照理论学习阶段&#xff0c;誉天为大家提供在线模拟测试系统&#xff0c;帮助大家掌握云计算笔试考点。笔试通过后&#xff0c;18个月内&#xff08;一年半…

Mysql基础(二)数据类型和约束

一 数据类型 讲解主要的数据类型,不面面俱到,后续遇到具体问题再查询补充扩展&#xff1a; 知识点的深度和广度以工作为导向 ① int float M : 表示显示宽度&#xff0c;M的取值范围是(0, 255)例如: int(5),当数据宽度小于5位的时候在数字前面需要用字符填满宽度说明&…

html显示PDF并兼容IE浏览器的解决方案

方案一、vue-pdf插件 缺点&#xff1a;IE11显示空白&#xff0c;编译后的Edge测试环境可以正常线上&#xff0c;打到线上报错&#xff0c;谷歌和百分浏览器显示完美 1、vue 只显示核心代码&#xff0c;需要安装vue-pdf插件 <vue-pdf :src"ivcPdfUrl"></v…

Vitis HLS 学习笔记--优化指令-ARRAY_PARTITION

目录 1. ARRAY_PARTITION 概述 2. 语法解析 2.1 参数解释 2.1.1 variable 2.1.2 type 2.1.3 factor 2.1.4 dim 2.2 典型示例 2.2.1 dim1 2.2.2 dim2 2.2.3 dim0 3. 实例演示 4. 总结 1. ARRAY_PARTITION 概述 ARRAY_PARTITION 指令中非常重要&#xff0c;它用于优…

使用 OpenCV 测量物体尺寸

使用 OpenCV 测量物体尺寸 你是否曾经遇到过这样的问题&#xff1a;想要知道计算器的精确尺寸&#xff0c;但手头又没有专业的测量工具&#xff1f;别担心&#xff0c;今天我们就来教大家一个简单又实用的方法&#xff0c;通过一张A4纸就能估算出计算器的宽度和高度&#xff0c…

了解边缘计算,在制造行业使用边缘计算。

边缘计算是一种工业元宇宙技术&#xff0c;可以帮助组织实现其数据的全部潜力。 处理公司的所有数据可能具有挑战性&#xff0c;而边缘计算可以帮助公司更快地处理数据。在制造业中&#xff0c;边缘计算可以帮助进行预测性维护和自动驾驶汽车操作等工作。 什么是边缘计算? …

CMake 编译项目

一、概述 cmake 是C一个很重要的编译和项目管理工具&#xff0c;我们在git 上以及常见的项目现在多数都是用cmake 管理的&#xff0c;那么我们今天就做一个同时有Opencv和CGAL 以及PCL 的项目。 二、项目管理 重点是CMakeList.txt 1、CMakeList.txt cmake_minimum_requir…

FebHost:CO域名在搜索引擎排名中是否高于.COM域名?

.CO 域名在搜索引擎结果中有可能取得高于 .COM 域名的排名&#xff0c;但要注意的是&#xff0c;域名的后缀本身并不会直接影响其搜索排名。决定网站在搜索引擎中的排名的主要因素是搜索引擎优化&#xff08;SEO&#xff09;实践的有效性&#xff0c;包括内容的质量、关键词的使…

Quarto Dashboards 教程 2:Dashboard Layout

「写在前面」 学习一个软件最好的方法就是啃它的官方文档。本着自己学习、分享他人的态度&#xff0c;分享官方文档的中文教程。软件可能随时更新&#xff0c;建议配合官方文档一起阅读。推荐先按顺序阅读往期内容&#xff1a; 1.quarto 教程 1&#xff1a;Hello, Quarto 2.qu…