鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析【HarmonyOS 5.0(Next)】

news/2024/12/22 22:58:05/文章来源:https://www.cnblogs.com/baoto/p/18622768

鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析

万物智联,打造无缝智能生态

在科技不断迭代更新的今天,每一次技术的飞跃都是对未来的深刻探索。华为,这个始终站在科技前沿的企业,再次以HarmonyOS 5.0(Next)这一操作系统的新篇章,向我们展示了科技如何以前所未有的方式改变我们的生活。这不仅仅是一次操作系统的升级,更是一次对未来智能生活可能性的深度挖掘和呈现。
在这里插入图片描述

HarmonyOS 5.0(Next)以“未来美学”为核心理念,将科技与艺术完美融合。系统界面采用了全新的设计风格,通过细腻的动画效果和丰富的色彩搭配,为用户带来一场视觉盛宴。同时,系统还支持个性化定制,用户可以根据自己的喜好选择主题、壁纸、图标等元素,打造属于自己的专属界面。
在这里插入图片描述

HarmonyOS 5.0(Next)进一步强化了分布式软总线技术,实现了智能设备间的无缝连接和协同工作。无论是智能家居、智能穿戴设备,还是智能办公设备,都能轻松接入鸿蒙生态,实现信息共享和智能联动。用户只需轻轻一触,即可享受智能家居带来的便捷和舒适,让智能生活触手可及。

本页面实战效果预览图

在这里插入图片描述

一.HarmonyOS应用开发

1.1HarmonyOS 详解

HarmonyOS(鸿蒙操作系统)是华为公司推出的一种分布式操作系统。它被设计为一种全场景、全连接的操作系统,旨在实现在各种设备之间的无缝协同和共享,包括智能手机、平板电脑、智能穿戴、智能家居、车载系统等。HarmonyOS的目标是构建一个统一的、开放的、全场景的操作系统生态系统。

以下是一些 HarmonyOS 的关键特点和设计理念:

  1. 全场景适配: HarmonyOS 被设计为一个全场景操作系统,可以在各种终端设备上运行,无论是小型传感器设备还是大型的显示屏幕设备。

  2. 分布式架构: HarmonyOS 引入了分布式架构的概念,使得多个设备能够协同工作,共同完成任务。这使得设备之间的通信更加灵活,用户体验更加一致。

  3. 一次开发,多端部署: HarmonyOS 提倡一次开发,多端部署的理念,开发者可以使用相同的代码和开发工具,将应用程序轻松部署到不同类型的设备上。

  4. 微内核架构: HarmonyOS 使用微内核架构,将操作系统内核划分为一个小型的内核和一系列服务。这有助于提高系统的可靠性和安全性,并简化系统的维护和升级。

  5. 面向未来的技术: HarmonyOS 支持面向未来的技术,包括分布式数据管理、分布式安全、分布式图形等。这使得系统更具创新性,适应未来设备和应用的发展。

  6. 开放源代码: HarmonyOS 是一个开源操作系统,这意味着开发者可以访问其源代码,并根据需要进行修改和定制。这有助于推动开发者社区的参与和生态系统的发展。

总体而言,HarmonyOS 是为了适应未来全球数字化生活的需求而设计的一种操作系统。它的目标是提供更加统一、开放、灵活的操作系统平台,使得开发者能够更轻松地创建跨设备的应用程序,并为用户提供一致的、流畅的使用体验。

1.2 ArkTS详解

ArkTS是鸿蒙生态的应用开发语言。它在保持TypeScript(简称TS)基本语法风格的基础上,对TS的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式UI、状态管理等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。
自然简洁语法
ArkTS提供了简洁自然的声明式语法、组件化机制、数据-UI自动关联等能力,实现了贴近自然语言,书写效率更高的编程方式,为开发者带来易学、易懂、极简开发的优质体验。
轻量化并发机制
ArkCompiler运行时在HarmonyOS上提供了Worker API支持并发编程。在运行时实例内存隔离的基础上,ArkCompiler通过共享运行实例中的不可变或者不易变的对象、内建代码块、方法字节码等技术手段,优化了并发运行实例的启动性能和内存开销。

二.HarmonyOS应用开发实战—登录页面【ArkTS】

在这里插入图片描述

2.1 ArkTS页面源码

import router from '@ohos.router'
import prompt from '@ohos.prompt'
import promptAction from '@ohos.promptAction'
// import {Login, AuthMode} from "@ohos/agconnect-auth-component";
@Entry
@Component
struct LoginPage {@State password: string = ''@State username: string = ''@State phone: string = ''build() {Column() {Text("登陆").fontSize(50).fontWeight(FontWeight.Bold).margin({bottom: 60})Row() {Text("用户名").fontSize(18).fontWeight(FontWeight.Bold)}.width("100%")Row() {Image($r("app.media.name")).width(30)TextInput({placeholder: "请输入用户名"}).width(300).onChange((val: string) => {this.username = val})}.margin({bottom: 8,top: 8}).width("100%")Divider().strokeWidth(4)Row() {Text("密码").fontSize(18).fontWeight(FontWeight.Bold).margin({bottom: 8,top: 8})}.width("100%")Row() {Image($r("app.media.password")).width(30)TextInput({placeholder: "请输入密码"}).width(300).onChange((val: string) => {this.password = val}).type(InputType.Password)}.width("100%")Divider().strokeWidth(4)Row() {Blank()Text("忘记密码?").fontSize(18).fontWeight(FontWeight.Bold)}.width("100%")Button("登陆").width("90%").height(60).backgroundColor(Color.Orange).onClick(() => {if (this.username == "admin" && this.password == "admin") {router.replaceUrl({url: "page/homepage",params: {name: this.username}})}else {promptAction.showToast({message:"密码或用户名错误,请重新输入"})}}).margin({top: 30,})Row() {Button('第三方登陆').width("140vp").height("80vp").fontSize(20).margin({bottom: 40,top: 60,right: 20})Button('立即注册').width("140vp").height("80vp").fontSize(20).margin({bottom: 40,top: 60,})}Image($r("app.media.logo")).width(80)}.width('100%').height('100%').justifyContent(FlexAlign.Center).alignItems(HorizontalAlign.Center).padding({left: 20,right: 20})}
}

2.2 代码解析

这段代码是使用 HarmonyOS的 UI 组件进行页面布局和交互的代码。以下是对代码的分析:

  1. 导入模块:

    import router from '@ohos.router'
    import prompt from '@ohos.prompt'
    import promptAction from '@ohos.promptAction'
    

    这里导入了一些 HarmonyOS 提供的模块,包括用于导航的 router 模块和用于提示的 promptpromptAction 模块。

  2. 页面定义:

    @Entry
    @Component
    struct LoginPage {// ...
    }
    

    使用了 HarmonyOS 的注解(@Entry@Component)来定义一个名为 LoginPage 的页面组件。

  3. 状态管理:

    @State password: string = ''
    @State username: string = ''
    @State phone: string = ''
    

    使用 @State 注解定义了三个状态变量 passwordusernamephone

  4. UI 布局:

    build() {Column() {// ... UI 布局代码}.width('100%').height('100%').justifyContent(FlexAlign.Center).alignItems(HorizontalAlign.Center).padding({left: 20,right: 20})
    }
    

    build 方法中,使用 HarmonyOS 提供的 UI 组件进行页面布局,包括 ColumnRowTextImageTextInputDivider 等。通过这些组件的嵌套和设置属性,构建了登录页面的 UI 结构。

  5. 事件处理:

    Button("登陆").onClick(() => {// ... 按钮点击事件处理代码
    })
    

    当点击登录按钮时,会执行相应的事件处理代码。在这里,根据输入的用户名和密码进行简单的验证,如果是 admin/admin 则导航到首页,否则显示错误提示。

  6. 页面元素设置:
    设置了页面中的文字大小、字体加粗、边距、背景颜色等属性,以及按钮的点击事件处理。

2.3 心得

这段代码展示了 HarmonyOS 应用程序开发的一些关键概念和技术。以下是一些心得:

  1. 声明式 UI 布局: HarmonyOS 使用声明式 UI 的方式,通过组合不同的 UI 组件和设置属性来构建用户界面。这种方式使得 UI 布局清晰易读,更容易理解和维护。

  2. 状态管理: 使用 @State 注解来定义状态变量,这些变量用于跟踪用户输入的数据。状态管理是构建交互式应用程序的关键,它允许界面与数据同步更新。

  3. 事件处理: 通过为按钮等组件添加事件处理函数,实现了用户交互。在这里,按钮的点击事件触发了简单的用户名和密码验证,并根据验证结果执行不同的操作。

  4. 路由导航: 使用 router 模块进行路由导航,根据验证结果跳转到不同的页面。这是应用程序导航的重要组成部分,使得用户能够在不同的界面之间进行切换。

  5. 模块化开发: 通过导入 routerpromptpromptAction 等模块,代码实现了模块化开发的思想。这种模块化的方式使得代码更加结构清晰,易于维护。

  6. UI 组件的灵活使用: 代码中使用了多种 UI 组件,如 TextImageTextInputButton 等,展示了 HarmonyOS 提供的丰富组件库。这些组件可以通过链式调用方法来设置各种样式和属性,提供了灵活的界面设计选项。

总体来说,这段代码是一个入门级别的 HarmonyOS 应用程序示例,涵盖了常见的 UI 布局、状态管理、事件处理和导航等方面。理解这些概念对于开发更复杂的 HarmonyOS 应用程序是很有帮助的。

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

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

相关文章

EVM介绍及字节码简单逆向

什么是EVM 以太坊是一个分布式的状态机,其中的状态不仅包含所有的账户和余额,还有EVM和EVM状态(可以被预先定义的规则所改变的东西); EVM是以太坊中的虚拟机,可以允许不被信任的代码执行;它是一个基于栈的虚拟机,有一个短暂的内存和一个永久存储的状态;PC:类似计算机中的…

HarmonyOS 5.0 (Next)应用开发实战:使用ArkTS构建开箱即用的登录页面【HarmonyOS 5.0(Next)】

HarmonyOS 5.0 (Next)应用开发实战:使用ArkTS构建开箱即用的登录页面【HarmonyOS 5.0(Next)】 一、HarmonyOS 5.0美学与科技的完美融合 在科技飞速发展的今天,每一个细微的创新都可能引领一场变革。华为,作为科技领域的领航者,再次以HarmonyOS 5.0(Next)这一里程碑式…

fellyfin 开启硬件加速 Ubuntu 安装硬件驱动

需要 root 权限。在主机系统上安装该intel-gpu-tools包,用于在 Linux 上调试英特尔显卡驱动程序。不同发行版的名称不同。在 Debian 和 Ubuntu 上:sudo apt update && sudo apt install -y intel-gpu-tools在 Jellyfin 网络客户端中播放视频,并通过设置较低的分辨率…

开箱即用的个人主页页面开发实战—基于HarmonyOS 5.0 (Next)和ArkTS的实现【HarmonyOS 5.0(Next)】

开箱即用的个人主页页面开发实战—基于HarmonyOS 5.0 (Next)和ArkTS的实现【HarmonyOS 5.0(Next)】 一、HarmonyOS 5.0(Next)革新设计理念,打造和谐美学 在科技日新月异的今天,操作系统作为智能设备的灵魂,正不断推动着数字生活的变革。华为,作为全球领先的科技企业,…

数据结构期末复习

武汉理工大学数据结构期末复习数据结构期末复习 By Persona_owl 第一章 绪论 1. 基本概念和术语数据:计算机操作的对象的总称,是信息的符号表示形式。数据元素: 数据的基本单位,通常作为一个整体进行处理,由更小的数据项组成。数据项是数据不可分割的最小单位。数据结构: 存…

探索HarmonyOS开发:用ArkTS构建个人主页和活动管理系统【HarmonyOS 5.0(Next)】

探索HarmonyOS开发:用ArkTS构建个人主页和活动管理系统【HarmonyOS 5.0(Next)】 一、一个系统,统一生态 口号:“一个系统,统一生态”,旨在全面突破操作系统核心技术,实现系统架构由内到外的焕然一新。 流畅度提升:相比前代,HarmonyOS 5.0(Next)的流畅度提升了30%,…

HarmonyOS应用开发实战-开箱即用的首页页面构建与ArkTS解析【HarmonyOS 5.0(Next)】

HarmonyOS应用开发实战-开箱即用的首页页面构建与ArkTS解析【HarmonyOS 5.0(Next)】 一、HarmonyOS Next 5.0的优势 AI能力:HarmonyOS Next 5.0通过系统级AI能力,将AI下沉至操作系统并赋能给多个子系统,从而提升了应用的智能化体验。例如,小艺助手在HarmonyOS Next 5.0中…

JavaWeb案例整体分析---》差旅费报销管理信息系统-数据库操作和Mybatis配置

数据库操作 ` CREATE TABLE ter_businessapply( id VARCHAR(8) PRIMARY KEY, name VARCHAR(50) NOT NULL, position VARCHAR(50) NOT NULL, department VARCHAR(50) NOT NULL, destination VARCHAR(100) NOT NULL, departure_date varchar(30) NOT NULL, return_date varchar(3…

深度科普文:细数倾斜摄影数据的缺点

详细介绍了倾斜摄影数据应用到三维可视化项目中的一些缺点。1. 引言 写这篇文章的起因是最近遇到一个使用倾斜摄影数据应标的三维可视化项目,业主认为倾斜摄影数据加载很卡,要求能浏览场景的时候能立刻显示出当前的场景最精细的模型,如下图1所示。其实这个问题遇到的次数还真…

Linux 性能调优命令

from pixivPS ps auxfps:显示系统中当前的进程信息。 a:显示与终端无关的所有进程(即显示所有用户的进程)。 u:以用户友好的格式显示进程信息,包括用户、CPU 和内存使用情况。 x:显示没有控制终端的进程,例如守护进程(daemon)。 f:以 ASCII 字符显示进程的树状结构,…

使用hackbar进行跨库注入

第一步 http://192.168.1.117/sqli-labs/Less-1/?id= union select 1,2,3 --+ //构建语句

Linux编写一个自己的命令

Linux编写一个自己的命令 编译一个.c文件,生成可执行文件out。out只有在当前目录下可以执行。 而命令可在任何路径执行想让out可以在任意路径执行,有以下两种办法 1、将执行文件添加到 /bin/ 路径下(专门存放可执行文件)添加到 /bin/ 路径下后,在任何路径都可识别到程序2、…