用户登陆UI

本节任务

完成用户登陆UI,点击登陆按钮跳转到应用主页

界面原型:

登陆页面:

在这里插入图片描述

登陆成功页面:

在这里插入图片描述

涉及知识点:

  • 线性布局
  • Image组件
  • 输入框
  • 复选框
  • 分割线
  • 按钮
  • 路由跳转
  • 背景色、内容对齐

1 新建项目

在这里插入图片描述

录入项目信息:

在这里插入图片描述

2 logo部分

在index.ets下面编码,完成登陆页面,首先删除原有样例代码,然后,使用column布局,添加logo:

@Entry
@Component
struct Index {build() {Column(){Image($r('app.media.gwglogo')).width(180).height(180).margin(10)      }.width('100%').height('100%')}
}

预览效果:

在这里插入图片描述

[!IMPORTANT]

图片需要放到media目录下:

\src\main\resources\base\media\gwglogo.png

3 登陆部分

仍然在column中使用上下布局,添加用户名输入框、密码框、忘记密码、登陆按钮:

TextInput({placeholder:'用户名/手机/邮箱'}).backgroundColor(Color.White).showUnderline(true).width('95%')TextInput({placeholder:'密码'})//密码框输入模式不支持下划线.type(InputType.Password).backgroundColor(Color.White).width('95%')
Text('忘记密码').width('95%').fontSize(12).fontColor(Color.Gray).margin(10).textAlign(TextAlign.End)
Button('登陆').width('80%').backgroundColor('#ccc')

在这里插入图片描述

4 注册及用户协议

使用Row布局:

      Row(){Text('立即注册').fontSize(14)Text('短信登陆').fontSize(14)}.width('90%').justifyContent(FlexAlign.SpaceBetween).margin(10)Row(){Checkbox()Text('我已阅读并同意《用户协议》').fontSize(12).fontColor(Color.Red)}

预览效果:

在这里插入图片描述

5 其他方式登陆

添加分割线、其他方式登陆、登陆入口logo:

      Divider().margin(10)Text('其他方式登陆').fontSize(12)Row({space:8}){Image($r('app.media.letterA')).width(32).height(32).borderRadius(16)Image($r('app.media.letterB1')).width(32).height(32).borderRadius(16)Image($r('app.media.letterC1')).width(32).height(32).borderRadius(16)}.width('95%').margin(10).justifyContent(FlexAlign.Center)

预览效果:

在这里插入图片描述

6 登陆跳转

1)新建主页

在这里插入图片描述

命名为MainPage:

在这里插入图片描述

页面预览:

在这里插入图片描述

2)路由跳转

在登陆按钮上绑定事件,点击后通过路由进行跳转:

      Button('登陆').width('80%').backgroundColor('#ccc').onClick(()=>{router.pushUrl({url:'pages/MainPage'})})

[!NOTE]

路由组件可以自动在代码头部导入:

import { router } from '@kit.ArkUI'

页面路由链接从以下文件中获取:

src/main/resources/base/profile/main_pages.json

{"src": ["pages/Index","pages/MainPage"]
}

预览效果,首先点击登陆按钮:

在这里插入图片描述

跳转后页面,点击预览器工具栏中的返回键可以返回登陆页面:

在这里插入图片描述

代码参考:

https://gitee.com/snowyvalley/harmony-app-dev-basic-course.git

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

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

相关文章

linux多线(进)程编程——(1)前置知识

liunx多线程编程(前置知识)前置知识 前言 学习编程就像是修仙,分为宗门的正统修士(计算机专业的学生),以及野修(半路转码)。正统修士有各大宗门的功法,保证一路修行畅通…

Npfs!NpFsdCreate函数分析之从NpCreateClientEnd函数分析到Npfs!NpSetConnectedPipeState

第一部分: 1: kd> g Breakpoint 5 hit Npfs!NpFsdCreate: baaecba6 55 push ebp 1: kd> kc # 00 Npfs!NpFsdCreate 01 nt!IofCallDriver 02 nt!IopParseDevice 03 nt!ObpLookupObjectName 04 nt!ObOpenObjectByName 05 nt!IopCreateFile 06…

【软件测试】bug 篇

本章思维导图: 1. 软件测试的生命周期 软件测试贯穿于整个软件的生命周期 流程阶段需求分析测试计划测试设计/开发测试执行测试评估上线运行维护具体工作内容1. 阅读需求文档 2. 标记可测试需求 3. 确定测试类型1. 制定测试范围 2. 选择测试工具 3. 分配资源1. 编写…

「Unity3D」图片导入选项取消Read/Write,就无法正确显示导入大小,以及Addressable打包无法正确显示的问题

如果在Edit -> Project Settings -> Editor中的“Load texture data on demand”勾选,就会让图片导入设置中,不勾选Read/Write,就无法正确显示纹理的大小数字。 更进一步的问题是,使用Addressable打包的时候, 如…

《MySQL从入门到精通》

文章目录 《MySQL从入门到精通》1. 基础-SQL通用语法及分类2. 基础-SQL-DDL-数据库操作3. 基础-SQL-DDL-表操作-创建&查询4. 基础-SQL-DDL-数据类型及案例4.1 数值类型4.2 字符串类型4.3 时间和日期类型 5. 基础-SQL-DDL-表操作-修改&删除5.1 DDL-表操作-修改5.2 DDL-表…

Vccaux_IO在DDR3接口中的作用

一、Vccaux_IO在DDR3接口中的作用 1.vccaux_io通常为FPGA的IO bank的辅助电源,用于支持特定电压的IO标准 2.在DDR3接口中,FPGA的IO bank需要DDR3芯片的电压(1.5v/1.35v)匹配 3.Vccaux_IO用于为FPGA的DDR3接口I/O Bank供电,其电压值、噪声和稳…

深入理解Apache Kafka

引言 在现代分布式系统架构中,中间件扮演着至关重要的角色,它作为系统各组件之间的桥梁,负责处理数据传递、消息通信、负载均衡等关键任务。在众多中间件解决方案中,Apache Kafka凭借其高吞吐量、低延迟和可扩展性,已…

【NLP】 21. Transformer整体流程概述 Encoder 与 Decoder架构对比

1. Transformer 整体流程概述 Transformer 模型的整个处理流程可以概括为从自注意力(Self-Attention)到多头注意力,再加上残差连接、层归一化、堆叠多层的结构。其核心思想是利用注意力机制对输入进行并行计算,从而避免传统 RNN …

路由器端口映射的意思、使用场景、及内网ip让公网访问常见问题和解决方法

一、端口映射是什么意思 端口映射是将内网主机的IP地址端口映射到公网中,内部机器提供相应的互联网服务。当异地用户访问该这个端口时,会自动将请求映射到对应局域网内部的机器上。 二、端口映射常见使用场景 1,远程访问需求。当有…

GEO全域优化白皮书:盈达科技如何打造AI生态中的认知护城河

副标题:让内容被AI优先引用,占领生成式引擎的“主屏入口” 一、GEO:生成式引擎时代的内容占位权之战 随着ChatGPT、Kimi、DeepSeek等生成式AI快速成为信息获取的主流方式,搜索逻辑正在根本性改变:从“网页排名”转向“…

如何用DeepSeek大模型提升MySQL DBA工作效率?实战案例解析

如何用DeepSeek大模型提升MySQL DBA工作效率?实战案例解析 MySQL DBA(数据库管理员)的工作涉及数据库监控、SQL优化、故障排查、备份恢复等复杂任务,传统方式依赖手动操作和经验判断,效率较低。而DeepSeek大模型可以结…

系统设计思维的讨论

我们经常说自己熟悉了spring,能够搭建起一个项目基本框架,并且在此之上进行开发,用户or客户提出需求碰到不会的百度找找就可以实现。干个四五年下一份工作就去面试架构师了,运气好一些可能在中小公司真的找到一份架构师、技术负责…

项目部署-(二)Linux下SpringBoot项目自动部署

一、项目部署架构 二、项目部署环境 192.168.138.100(服务器A): -Nginx :部署前端项目、配置反向代理 -MySQL:主从复制结构中的主库 192.168.138.101(服务器B): -JDK:运行Java项目 -Git:版本控制工具 -Maven:项目构建…

【LeetCode 热题 100】哈希 系列

📁1. 两数之和 本题就是将通过两层遍历优化而成的,为什么需要两层遍历,因为遍历 i 位置时,不知道i-1之前的元素是多少,如果我们知道了,就可以通过两数相加和target比较即可。 因为本题要求返回下标&#xf…

【Kubernetes基础】--查阅笔记1

目录 Kubernetes 是什么为什么要用 KubernetesKubernetes 概念MasterNodePodLabelReplication ControllerDeploymentHorizontal Pod AutoscalerStatefulSetService服务发现机制 JobVolumePersistent VolumeNamespaceConfigmap Kubernetes 是什么 Kubernetes是一个开放的开发平…

卷积神经网络CNN到底在卷些什么?

来源: 卷积神经网络(CNN)到底卷了啥?8分钟带你快速了解!_哔哩哔哩_bilibili卷积神经网络(CNN)到底卷了啥?8分钟带你快速了解!共计2条视频,包括:卷…

Axios 的 POST 请求:QS 处理数据的奥秘与使用场景解析

在现代前端开发中,Axios 已经成为了进行 HTTP 请求的首选库之一,它的简洁易用和强大功能深受开发者喜爱。当使用 Axios 进行 POST 请求时,我们常常会遇到一个问题:是否需要使用 QS 库来处理请求数据?什么时候又可以不用…

java面试题带答案2025最新整理

文章目录 一、java面试题集合框架1. 请简要介绍 Java 集合框架的体系结构2. ArrayList 和 LinkedList 的区别是什么3. HashMap 的工作原理是什么,它在 JDK 7 和 JDK 8 中有哪些不同4. 如何解决 HashMap 的线程安全问题5. TreeSet 是如何保证元素有序的 二、java面试…

4.B-树

一、常见的查找方式 顺序查找 O(N) 二分查找 O(logN)(要求有序和随机访问) 二叉搜索树 O(N) 平衡二叉搜索树(AVL树和红黑树) O(logN) 哈希 O(1) 考虑效率和要求而言,正常选用 平衡二叉搜索树 和 哈希 作为查找方式。 但这两种结构适合用于…

CTF--shell

一、原题 (1)提示: $poc"a#s#s#e#r#t";$poc_1explode("#",$poc);$poc_2$poc_1[0].$poc_1[1].$poc_1[2].$poc_1[3].$poc_1[4].$poc_1[5]; $poc_2($_GET[s]) (2)原网页:一片空白什么都…