当前位置:   article > 正文

HarmonyOS开发之ArkTS使用:用户登录页面应用_arkts写登陆

arkts写登陆

目录

目录

前言

关于HarmonyOS

环境准备

新建项目

设计用户登录页面

1. 布局设计

2. 编写ArkTS代码

运行和测试

结束语


前言

随着HarmonyOS(鸿蒙操作系统)的不断发展,越来越多的开发者开始投入到这个全新的生态系统中,而ArkTS(Adaptive Runtime for TypeScript)作为HarmonyOS的声明式UI编程语言,为开发者提供了高效、简洁的开发体验,尤其是对于前端开发者入手鸿蒙OS开发来说更是如鱼得水。那么本文就来介绍如何使用ArkTS,这里以创建一个简单的用户登录页面应用来做具体分享。

关于HarmonyOS

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

环境准备

在开始之前,请确保已经安装了DevEco Studio(华为开发者联盟提供的官方IDE)以及HarmonyOS SDK,与此同时,还需要对ArkTS的基本语法和组件有一定的熟悉和了解,这样才能更好的快速入手体验。

新建项目

接下来就是直接去做创建项目的操作,上面如果把开发环境安装完毕之后,就可以直接创建项目了,大概步骤如下所示:

  1. 打开DevEco Studio,选择“Create New Project”;
  2. 然后在项目模板中选择“Empty Feature Ability (ArkTS)”;
  3. 填写项目信息,比如项目名称、保存位置等,这里就不再过多介绍,具体以实际情况填写即可,然后点击“Finish”即可。

设计用户登录页面

创建新的项目之后,先要根据设计的登录页面来开发,这里着重分享一下用户登录页面的设计的内容。具体步骤如下所示:

1. 布局设计

在新建项目的resources/base/layout目录下创建一个新的XML布局文件,比如login_layout.xml,然后在这个文件中,可以使用ArkUI提供的组件来设计登录页面的布局,使用TextField组件来输入用户名和密码,使用Button组件来提交登录请求等设置。

2. 编写ArkTS代码

然后在对应的.ets文件中(通常是与布局文件同名的.ets文件),可以使用ArkTS来编写页面的逻辑代码。以下是一个简单的示例,具体如下所示:

  1. # ArkTS页面源码
  2. import router from '@ohos.router'
  3. import prompt from '@ohos.prompt'
  4. import promptAction from '@ohos.promptAction'
  5. @Entry
  6. @Component
  7. struct LoginPage {
  8.   @State password: string = ''
  9.   @State username: string = ''
  10.   @State phone: string = ''
  11.   build() {
  12.     Column() {
  13.       Text("登录")
  14.         .fontSize(50)
  15.         .fontWeight(FontWeight.Bold).margin({
  16.         bottom: 60
  17.       })
  18.       Row() {
  19.         Text("用户名")
  20.           .fontSize(18)
  21.           .fontWeight(FontWeight.Bold)
  22.       }.width("100%")
  23.       Row() {
  24.         Image($r("app.media.name")).width(30)
  25.         TextInput({
  26.           placeholder: "请输入用户名"
  27.         }).width(300).onChange((val: string) => {
  28.           this.username = val
  29.         })
  30.       }.margin({
  31.         bottom: 8,
  32.         top: 8
  33.       }).width("100%")
  34.       Divider().strokeWidth(4)
  35.       Row() {
  36.         Text("密码")
  37.           .fontSize(18)
  38.           .fontWeight(FontWeight.Bold).margin({
  39.           bottom: 8,
  40.           top: 8
  41.         })
  42.       }.width("100%")
  43.       Row() {
  44.         Image($r("app.media.password")).width(30)
  45.         TextInput({
  46.           placeholder: "请输入密码"
  47.         }).width(300).onChange((val: string) => {
  48.           this.password = val
  49.         }).type(InputType.Password)
  50.       }.width("100%")
  51.       Divider().strokeWidth(4)
  52.       Row() {
  53.         Blank()
  54.         Text("忘记密码?")
  55.           .fontSize(18)
  56.           .fontWeight(FontWeight.Bold)
  57.       }.width("100%")
  58.       Button("登录").width("90%").height(60).backgroundColor(Color.Orange).onClick(() => {
  59.         if (this.username == "admin" && this.password == "admin") {
  60.           router.replaceUrl({
  61.             url: "page/homepage",
  62.             params: {
  63.               name: this.username
  64.             }
  65.           })
  66.         }
  67.         else {
  68.           promptAction.showToast({
  69.             message:"密码或用户名错误,请重新输入"
  70.           })
  71.         }
  72.       }).margin({
  73.         top: 30,
  74.       })
  75.       Row() {
  76.         Button('第三方登录')
  77.           .width("140vp")
  78.           .height("80vp")
  79.           .fontSize(20)
  80.           .margin({
  81.             bottom: 40,
  82.             top: 60,
  83.             right: 20
  84.           })
  85.         Button('立即注册')
  86.           .width("140vp")
  87.           .height("80vp")
  88.           .fontSize(20)
  89.           .margin({
  90.             bottom: 40,
  91.             top: 60,
  92.           })
  93.       }
  94.       Image($r("app.media.logo")).width(80)
  95.     }
  96.     .width('100%')
  97.     .height('100%')
  98.     .justifyContent(FlexAlign.Center)
  99.     .alignItems(HorizontalAlign.Center)
  100.     .padding({
  101.       left: 20,
  102.       right: 20
  103.     })
  104.   }
  105. }
上面的登录页面实现之后,运行之后,具体效果如下所示:

运行和测试

在DevEco Studio中点击运行按钮(或使用快捷键),将应用部署到模拟器或真机上进行测试。在登录页面中输入用户名和密码,然后点击“登录”按钮,查看控制台输出以验证代码是否按预期工作。到此为止,整个开发流程全部结束,本篇文章内容也要到此结束。

结束语

通过本文内容,介绍了如何使用ArkTS来创建一个简单的用户登录页面应用,通过设计布局、编写ArkTS代码和运行测试等步骤,你可以快速掌握ArkTS的基本用法并开发出具有交互性的HarmonyOS应用。需要说明的是本文示例代码是一个较为简单的 HarmonyOS 应用程序示例,但是涵盖了常见的 UI 布局、状态管理、事件处理和导航等内容,是一个比较全面的入门案例,你也可以在这个示例代码中做自己的修改。我觉得理解这些概念对于开发更复杂的 HarmonyOS 应用程序是很有帮助的,希望这篇文章对你有所帮助!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/618627
推荐阅读
相关标签
  

闽ICP备14008679号