当前位置: 首页 > news >正文

HarmonyOS ArkTS 注册页面开发实现概括

一、页面整体介绍

本案例基于鸿蒙 ArkTS 语法开发用户注册页面,采用@Entry@Component装饰器构建页面组件,通过Column纵向布局承载头像、标题、账号 / 密码输入框、跳转文字、注册按钮等全部元素;同时引入鸿蒙路由模块@ohos.router,实现注册页向登录页的页面跳转功能,页面布局居中规整,区分普通输入框与密码隐藏输入框,完成基础注册 UI 交互搭建。

二、页面布局结构说明

  1. 顶部区域:圆形头像图片 + 加粗 “注册” 标题,图片通过圆角属性实现圆形裁剪;
  2. 表单区域:三组Row横向布局,每组左侧为文字标签(账号 / 密码 / 确认密码)、右侧为输入框,密码与确认密码输入框设置密码隐藏输入类型;
  3. 交互区域:可点击灰色文字跳转登录页、全屏宽度蓝色注册按钮;
  4. 全局样式:根容器铺满屏幕宽高,统一内边距,组件之间设置固定纵向间距。

三、完整实现代码

typescript

运行

// 导入鸿蒙路由模块,实现页面跳转 import router from '@ohos.router'; // 页面入口装饰器 @Entry // 自定义组件装饰器 @Component struct RouterRegister{ build() { // 纵向布局,组件纵向间距25 Column({space:25}){ // 顶部圆形头像 Image($r('app.media.ban')) .width(120) .height(120) .borderRadius(60) // 注册标题 Text("注 册") .fontSize(32) .fontWeight(FontWeight.Bolder) // 账号输入行 Row(){ Text("账号") .fontSize(26) .width('40%') .textAlign(TextAlign.Center) TextInput() .width('60%') .height(50) } // 密码输入行 Row(){ Text("密码") .fontSize(26) .width('40%') .textAlign(TextAlign.Center) TextInput() .width('60%') .height(50) .type(InputType.Password) } // 确认密码输入行 Row(){ Text("确认密码") .fontSize(26) .width('40%') .textAlign(TextAlign.Center) TextInput() .width('60%') .height(50) .type(InputType.Password) } // 跳转登录点击文字 Text("已有账号,立即登录") .fontSize(22) .fontColor(0xababab) .onClick(()=>{ // 路由跳转至登录页面 router.pushUrl({ url:"pages/RouterLogin" }) }) // 注册按钮 Button("立即注册") .width('100%') .height(50) .fontSize(24) } // 根容器铺满全屏,设置内边距 .width('100%') .height('100%') .padding(15) } }

四、页面效果图展示

效果图说明

右侧预览模拟器中完整呈现开发效果:

  1. 页面最上方为圆形院校头像图片;
  2. 下方加粗 “注册” 大标题;
  3. 依次排列账号、密码、确认密码输入框,密码框自带隐藏显示图标;
  4. 灰色可点击跳转文字、底部通栏蓝色 “立即注册” 按钮; 左侧工程目录可看到页面文件zhuce.ets,图片资源存放于resources/media目录,代码编辑器实时同步预览界面效果。

五、核心功能要点总结

  1. 布局组件Column纵向排布页面全部内容,Row实现标签与输入框左右分栏;
  2. 图片处理borderRadius设置图片圆角,宽高一致实现圆形头像;
  3. 输入框区分:普通账号输入框、InputType.Password密码隐藏输入框;
  4. 页面路由:导入router模块,pushUrl实现点击文字跳转登录页面;
  5. 样式控制:统一字号、尺寸、文字颜色、容器边距,适配移动端页面展示。
http://www.jsqmd.com/news/1079525/

相关文章:

  • 告别 Scrapy 反爬困境:无缝切换原生支持 JS 渲染的新一代爬虫框架
  • Python EXE解包逆向工程终极指南:3步获取原始源代码
  • 摄像头无处不在,隐私保护如何不掉队?
  • 理解数据库的“读写分离”与“分库分表”
  • 废塑料变黄金:选对撕碎机制造厂,省心又赚钱
  • STM32-S145语音播报+4种商品+4步进电机出货+选货+库存+缺货提醒+找零+声光提醒+按键+TFT彩屏+(无线方式选择)-2(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章
  • AdMob 突发限流?先别慌,按这 4 步排查
  • MySQL性能怎么看?mysqld_exporter采集、告警与远程监控指南
  • XSpear:从XSS检测到全能型Web漏洞扫描的参数分析引擎详解
  • Django学习教程(十七)Django分页功能实现
  • 2026年AI微入口供应商避坑指南:选对靠谱伙伴
  • WD5081,6.5V~90V,1A异步降压转换器,高集成度、低成本
  • SGP41环境传感器实战:从原理到智能家居空气质量监测应用
  • HTTP 403绕过实战:从权限校验到未授权访问的攻防解析
  • 开源BuildingAI企业级实战:智能体+知识库+RAG一站式办公平台
  • 阿联酋原油出口恢复八成五,原油期货供应扰动与市场影响分析
  • 星纵物联WS50x智能开关面板,开关升级一步到位
  • MySqL(三)数据操作语言DML和数据查询语言DQL详细讲解(练习,笔记,注意点)
  • 算法设计中的鸽巢原理、归约与组合设计应用
  • 旋进旋涡流量计可以测量哪些介质呢?
  • 数据要素市场化背景下,数据中台如何演进为企业数据资产化的技术枢纽?
  • NAS、网盘、本地电影太多,播放器怎么选?VidHub、Infuse、nPlayer、Jellyfin、Plex 适合谁?
  • 还在百度查 Linux 命令?我把常用命令做成了网站,一行 Docker 部署到内网
  • Okbiye AI 写作数据分析模块:一键生成实证报告,破解社科论文数据处理难题
  • 熵与分布(更懂「犹豫」):整个候选分布有多分散; P(True) 自评估:追加一个问题「上述答案是否正确?(A) True (B) False」,再看 logprob;
  • MuleSoft+LLM企业级AI编排实战:构建可治理的意图路由系统
  • 2026年用Gemini镜像站解决Java微服务架构难题
  • 孩子挑食、面色黄、总生病?可能缺的不是饭,是“营养素”
  • 雷电模拟器部署Frida全攻略:从环境配置到Hook实战
  • 我用QClaw的命理大师体验玄学,AI结果令我震惊了