首页 > 其他分享 >『江鸟中原』鸿蒙——设计聊天软件界面并实现登录跳转

『江鸟中原』鸿蒙——设计聊天软件界面并实现登录跳转

时间:2023-12-09 16:05:16浏览次数:32  
标签:江鸟 选项卡 登录 鸿蒙 跳转 组件 router 页面

环境搭建

软件要求

 DevEco Studio版本:DevEco Studio 4.0 Beta1 Build Version: 4.0.0.201, built on June 10, 2023。

 HarmonyOS SDK版本:API version 9。

硬件要求

设备类型:华为手机或运行在DevEco Studio上的华为手机设备模拟器。

HarmonyOS系统:3.1.0 Developer Release。

简要介绍

简单的制作了登录界面和聊天应用界面,实现登录跳转功能。

首先看登录界面

先看看在预览器上展示的效果

『江鸟中原』鸿蒙——设计聊天软件界面并实现登录跳转_语言:ArkTS

结构如下

『江鸟中原』鸿蒙——设计聊天软件界面并实现登录跳转_登录跳转_02

在输入正确的账号密码后,点击登录,就会跳转到聊天界面.

页面间的导航可以通过页面路由router模块来实现。页面路由模块根据页面url找到目标页面,从而实现跳转。通过页面路由模块,可以使用不同的url访问不同的页面,包括跳转到Ability内的指定页面、用Ability内的某个页面替换当前页面、返回上一页面或指定的页面等。通过params来传递参数。

在使用页面路由之前,需要先导入router模块,代码如下所示。

// 导入router模块
import router from '@ohos.router';

这里我选择了调用router.push()方法的方式实现页面跳转。相关代码如下:

Button("登陆").width("90%").height(60).backgroundColor(Color.Orange).onClick(() => {

        if (this.username == "admin" && this.password == "admin") {

          router.push({
            url: "pages/Main",
            params:{src:'登陆成功',}
          })
        }
        else {
          promptAction.showToast({
            message:"密码或用户名错误,请重新输入"
          })
        }
      })

登录界面的代码主要包括:

1导入所需的模块。其中包括: 

 - `router`:用于导航到不同页面的模块。

  - `prompt`:用于显示提示信息的模块。

  - `promptAction`:用于显示Toast提示信息的模块。

2创建一个名为`IndexPage`的组件,包含三个状态属性:`message`、`password` 和 `username`。这些属性将用于存储和操作用户在登录页面中输入的信息。

3. 构建登录页面的布局。其中包括:

  - 显示“登陆”的文本,并对其进行样式设置。

  - 两个`Row`组件,包含用户名和密码的提示信息,以及用于输入用户名和密码的`TextInput`组件。

  - 一个`Divider`组件,用于分隔用户名和密码输入区域。

  - 一个包含“忘记密码?”的`Row`组件。

  - 一个`Button`组件,用于提交登录信息。点击按钮时,将检查用户名和密码是否正确,并根据结果导航到相应的页面或显示Toast提示信息。

  - 一个显示“其他登录方式”的文本,以及三个`Image`组件,分别表示QQ、微信和微博的登录图标。

插个题外话,登录界面和聊天界面中用到的图片都是在iconfont-阿里巴巴矢量图标库里下载的,只需免费注册一个账号,即可下载许多精美的图标素材。

然后再看聊天界面

先看看在预览器上展示的效果

『江鸟中原』鸿蒙——设计聊天软件界面并实现登录跳转_仿微信界面_03

聊天界面是使用`@Builder`装饰器来创建可重用的UI组件。创建了一个名为`Main`的组件,包括一个`TabsController`实例来管理选项卡切换。

`Main`组件有两个主要部分:

1. 状态属性和构造函数:

  - `index`:表示当前选中的选项卡索引。默认为0。

  - `tabsController`:用于管理选项卡切换的`TabsController`实例。

  - `arr1`:一个包含数字0到9的数组,用于为选项卡提供图标。

2. 四个使用`@Builder`装饰器创建的选项卡组件:

  - `tabMessage`:聊天选项卡。

  - `tabContactsGroup`:通讯录选项卡。

  - `tabDiscover`:发现选项卡。

  - `tabMy`:我的选项卡。

每个选项卡组件都包含一个图像和文本,用于显示选项卡的图标和名称。点击选项卡时,将更新`index`状态属性并触发`tabsController`的`changeIndex`方法,从而切换选项卡。

最后再看完整效果

『江鸟中原』鸿蒙——设计聊天软件界面并实现登录跳转_登录跳转_04

再看下什么也不输入和输入密码错误的情况

『江鸟中原』鸿蒙——设计聊天软件界面并实现登录跳转_仿微信界面_05

这就是整个项目的全部展示。

总结

在这一个学期里,我学习了鸿蒙操作系统。通过一系列课程和实践,我初步了解了鸿蒙的基本概念、架构和设计理念。在学习过程中,我认识到鸿蒙操作系统不仅仅是一个技术平台,更是一项推动技术创新和产业发展的重要举措。 在不断的学习和使用中,我亲身体验了鸿蒙操作系统的诸多特性和优势,例如分布式架构、流畅的用户体验和强大的安全性能。我还了解到鸿蒙操作系统在物联网、人工智能等领域具有广泛的应用前景。

尽管本学期的学习已经结束,但我对鸿蒙操作系统的研究和探索仍在继续。在未来的学习和工作中,我将继续保持对鸿蒙操作系统的关注,进一步深入学习。同时,我也期待鸿蒙操作系统在未来能够取得更大的成功,为科技进步和经济发展作出更大的贡献。如果之后有时间继续学习鸿蒙,我也会继续完善这个项目,增加新的内容。

总之,本学期的学习让我对鸿蒙操作系统有了更加全面的认识,也为我今后的研究和实践奠定了坚实的基础。我将继续努力学习,不断提高自己的技术水平,为推动鸿蒙操作系统的发展和普及贡献自己的力量。


标签:江鸟,选项卡,登录,鸿蒙,跳转,组件,router,页面
From: https://blog.51cto.com/u_16408474/8749749

相关文章

  • 『江鸟中原』鸿蒙仿汽水音乐应用
    1.引言 在短视频火爆的今天,“刷”成为了老少皆宜的一项消遣娱乐的活动。那音乐能不能刷呢,答案当然是可以的。汽水音乐就实现了这个想法。汽水音乐也是抖音推出的一款音乐软件,因为我平时比较喜欢使用这款软件,这也是我做这个项目主要灵感来源。2.项目背景 自从短视频平台成为音乐......
  • 『江鸟中原』鸿蒙云函数开发
    概括CloudFunctions,是一项Serverless计算服务,提供FaaS(FunctionasaService)能力,一方面云函数将开发测试的对象聚焦到函数级别,可以帮助大幅简化应用开发与运维相关的事务,另一方面可以通过在应用中集成云函数SDK,便捷操作云数据库、云存储等,提升业务功能构建的便利性。云函数可......
  • 『江鸟中原』鸿蒙---CustomDialog
    我是中工的陈金灿,这是我的鸿蒙结课大作业,以下是我的作业报告。自定义弹窗(CustomDialog)可用于广告、中奖、警告、软件更新等与用户交互响应操作。开发者可以通过CustomDialogController类显示自定义弹窗。具体用法请参考自定义弹窗。一、创建自己第一个自定义弹窗1.1创建自定义弹......
  • 『江鸟中原』鸿蒙——计算器
    鸿蒙期末大作业1、简介使用开发工具DevEcostudio,用java语言编写一个简单的应用——计算机,本应用能够进行简单的加、减、乘、除混合运算。2、成果展示3、设计计算器各个按钮privatevoidinitData(){if(map==null)map=newHashMap<Component,String>();......
  • Vue 3中的路由跳转及在新标签页中打开链接
    前言在Vue3中,VueRouter是一个常用的路由管理库,它提供了一种简单而强大的方式来实现路由跳转和导航。本文将介绍如何在Vue3中设置路由跳转,并且重点讨论如何在新标签页中打开链接。步骤一:安装VueRouter首先,我们需要安装VueRouter。在命令行中执行以下命令:npminstallvue-ro......
  • 鸿蒙原生应用开发——分布式数据对象
     01、什么是分布式数据对象在可信组网环境下,多个相互组网认证的设备将各自创建的对象加入同一个sessionId,使得加入的多个数据对象之间可以同步数据,也就是说,当某一数据对象属性发生变更时,其他数据对象会检测到这一变更,同时将自身属性更新。此时,该sessionId下的所有数据对象属......
  • 『江鸟中原』深入探索鸿蒙ArkTS:高效安全的跨语言开发体验
    随着鸿蒙操作系统的快速发展,跨语言开发成为了开发者们关注的焦点之一。鸿蒙ArkTS作为鸿蒙操作系统的重要组成部分,为开发者提供了一种高效、安全的跨语言开发体验。本文将深入探索鸿蒙ArkTS的语法,并通过实例代码演示其强大的功能和灵活性。ArkTS简介鸿蒙ArkTS是一种基于TypeScript......
  • 实战最新鸿蒙系统的短视频App:教你一步步掌握HarmonyOS的几个要点
    鸿蒙(HarmonyOS)是华为公司推出的全场景分布式操作系统,具备高效、安全和灵活的特性。本文将分享如何实战鸿蒙系统的智能家居控制App,并教你一步步掌握HarmonyOS的关键要点,并提供相关示例代码。一、了解HarmonyOS的核心概念在实战HarmonyOS智能家居控制App之前,首先需要了解HarmonyOS的......
  • 鸿蒙开发丨设备内UIAbility的几种交互方式
    本文分享自华为云社区《设备内UIAbility交互:无缝体验与高级技巧》,作者:柠檬味拥抱。UIAbility组件间交互(设备内)在设备内,UIAbility(用户界面能力)是系统调度的最小单元,它们负责展示用户界面和执行相关的业务逻辑。设备内的不同功能模块之间的交互是应用程序开发中的重要部分。本文......
  • 04 Frame控件和跳转
    04Frame控件和跳转Frame控件Frame是一个内容控件,提供导航到和显示内容的功能。Frame可以托管在其他内容中,就像其他控件和元素一样。常用属性Source设置该控件显示哪个资源,内容可以是任何类型的.NETFramework对象和HTML文件。但是,一般情况下,页面是打包内容以用于......