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.mzph.cn/pingmian/2062.shtml

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

相关文章

Unity2D 学习笔记 1.如何高效切换场景

Unity2D 学习笔记 1.如何高效切换场景 前言采用Scene的方式切换创建场景设置场景模板保存模板使用方法 前言 关于Unity版本&#xff0c;VS Studio版本以及其它相关设置&#xff0c;请移步上一篇Unity2D 学习笔记 0.Unity需要记住的常用知识 本节的方法源于Unity中文课程网《U…

Ubuntu下使用VisualStudioCode进行Java开发

0-1开始Java语言编程之路 一、Ubuntu下Java语言环境搭建 二、Ubuntu下Docker环境安装 三、使用Docker搭建本地Nexus Maven私有仓库 四、Ubuntu下使用VisualStudioCode进行Java开发 Visual Studio Code 下载 点击这个链接Visual Studio Code&#xff0c;进入VisualStudioCode的…

一文看懂电位器的接线方式

电位器是一种用于精确控制电路中电压、电流或信号幅度的电子元件&#xff0c;通过调整其内部电刷相对于电阻体的位置&#xff0c;可以连续改变其电阻值&#xff0c;进而实现对电路特性的微调或控制。根据电阻体材料、结构特点以及输出电压与输入电压&#xff08;或电刷位移&…

Java | Leetcode Java题解之第43题字符串相乘

题目&#xff1a; 题解&#xff1a; class Solution {public String multiply(String num1, String num2) {if (num1.equals("0") || num2.equals("0")) {return "0";}int m num1.length(), n num2.length();int[] ansArr new int[m n];for…

3D Gaussian Splatting介绍

目录 一、概述二、基础介绍1. 多维高斯分布2. 将3D 高斯投影到2D像素平面3. 球谐函数4. Splatting and α \alpha α blending 三、整体流程四、 伪代码五、评价指标六、实验结果七、reference 一、概述 3D Gaussian Splatting和NeRF一样&#xff0c;主要用于新视图合成。 特…

三相电子式电表ADL400储能防逆流含CE/MID认证

安科瑞薛瑶瑶18701709087/17343930412 ADL400 导轨式多功能电能表&#xff0c;是主要针对电力系统&#xff0c;工矿企业&#xff0c;公用设施的电能统计、 管理需求而设计的一款智能仪表&#xff0c;产品具有精度高、体积小、安装方便等优点。集成 常见 电 力参数测量及电能…

Ozone V3.32a使用总结

目录 前言 Ozone介绍 Ozone下载使用 总结 前言 由于项目需要&#xff0c;现在正在使用Ozone作为软件debug的工具&#xff0c;不同于Keil集成了代码编辑器&#xff0c;编译器&#xff0c;调试器&#xff0c;Ozone则主要作为一个代码调试工具使用。最近发现Ozone还有些功能挺…

vue项目打包时因为图片问题报错

执行 npm run build命令打包项目时报错&#xff0c;看起来是图片的问题&#xff1a; package.json里面image-webpack-loader的版本是^7.0.1 解决方案&#xff1a; 1、先卸载 npm uninstall image-webpack-loader 2、用cnpm重新安装 cnpm install image-webpack-loader --save…

PLSQL程序块中的无名块

文章目录 PLsql ---过程化语言程序块&#xff1a;无名块变量利用 select into 语句给变量赋值 打印输出手动输入变量类型引用型变量类型%TYPE%ROWTYPE 记录型变量类型 在程序块下的增删改RETURNING INTO增加数据修改数据删除数据 PLsql —过程化语言 程序块 plsql是Oracle默认…

单细胞+RIP-seq项目文章| Cell ReportshnRNPU蛋白在小鼠精原干细胞池建立的关键作用

精原干细胞&#xff08;SSCs&#xff09;是负责精子发生的干细胞&#xff0c;具有自我更新和分化产生功能性精子的能力。SSCs的持续再生对于维持雄性生育力至关重要。然而&#xff0c;SSC池的发育起源尚不清楚。在哺乳动物中&#xff0c;SSCs源自名为 prospermatogonia&#xf…

Android Studio开发工具学习之Git远程仓库拉取与推送

Git远程仓库操作 1.1 推送项目到远端服务器1.1.1 进入Gitee或Github、创建一个新的仓库1.1.2 将Android Studio中项目推送至Gitee 1.2 从远端服务器拉取项目1.2.1 AS工程页拉取新项目1.2.2 AS启动页拉取项目 1.1 推送项目到远端服务器 1.1.1 进入Gitee或Github、创建一个新的仓…

微服务两种方式登录

目录 1.restTemplate方式 1.1页面 1.2消费者 1.3生产者 1.4效果 2.Feign方式 2.1Service 2.2生产者 三个生产者 一个消费者&#xff0c;三个生产者需要用mysqlmybatis 三个不同的数据库。 页面输入用户名和密码&#xff0c;提交到后端消费者&#xff0c;消费者传到生产…

RabbitMQ入门实战

文章目录 RabbitMQ入门实战基本概念安装快速入门单向发送多消费者 RabbitMQ入门实战 官方&#xff1a;https://www.rabbitmq.com 基本概念 AMQP协议&#xff1a;https://www.rabbitmq.com/tutorials/amqp-concepts.html 定义&#xff1a;高级信息队列协议&#xff08;Advanc…

让流程图动起来

我们平时画流程&#xff0c;然后贴到文档&#xff0c;就完事了。但是过程演示的时候&#xff0c;如果只是一张静态图&#xff0c;很难吸引到听众的注意力&#xff0c;表达效果并不太好。常用的方法是可以用PPT进行动态演示&#xff0c;做PPT也是需要花一些时间&#xff0c;同时…

7、OpenCompass 大模型评测实战

0、为什么要研究大模型的评测&#xff1f; 首先&#xff0c;研究评测对于我们全面了解大型语言模型的优势和限制至关重要。尽管许多研究表明大型语言模型在多个通用任务上已经达到或超越了人类水平&#xff0c;但仍然存在质疑&#xff0c;即这些模型的能力是否只是对训练数据的…

【数据结构(邓俊辉)学习笔记】向量01——接口与实现

文章目录 0.意图1、概述2 从数组到向量3 向量ADT接口4 Vector 模板类5 构造与析构5.1默认构造方法5.2基于复制的构造方法5.3 析构方法 0.意图 一方面是将工作学习中零星的知识点串起来&#xff0c;另一方面向量是其他数据类型的基础&#xff0c;比如栈队列等&#xff0c;所以基…

分享4张亚马逊云科技AWS免费云开发和AI证书(有答案)

今天给大家带来特别福利&#xff0c;一口气带来亚马逊云科技AWS4张免费云开发/AI证书(有Credly徽章&#xff0c;有答案)&#xff0c;这四门都是云开发相关的硬核知识&#xff0c;含金量极高。 主要考察如何用AWS AI服务进行开发、以及当下热门的云原生改造&#xff0c;16道题80…

Skill Check: Build an LLM Application using OCI Generative AI Service

Skill Check: Build an LLM Application using OCI Generative AI Service

基于模糊控制的电动汽车锂电池SOC主动均衡电路MATLAB仿真模型

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介 模型在 Matlab/Simulink仿真平台中搭建16节电芯锂电池电路模型&#xff0c;主要针对电动车锂电池组SOC差异性&#xff0c;采用模糊控制算法动态调节均衡电流&#xff0c;以减少均衡时间和能量损耗。…

Python全栈开发前端与后端的完美融合

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在当今互联网时代&#xff0c;全栈开发已经成为了一种趋势。全栈开发者具备前端和后端开发的…