OpenHarmony短信倒计时

系统 OpenHarmony
倒计时的效果在网站或其他平台看到的很多了吧,今天就让我们来看看在OpenHarmony中如何实现它吧!

​想了解更多关于开源的内容,请访问:​

​51CTO 开源基础软件社区​

​https://ost.51cto.com​

1、背景

倒计时的效果在网站或其他平台看到的很多了吧,今天就让我们来看看在OpenHarmony中如何实现它吧!

2、效果预览

视频效果演示:

https://www.bilibili.com/video/BV1184y1z7SU/。

开发板:DAYU200

IDE:DevEco Studio 3.0 Release Build Version: 3.0.0.993。

API:9

3、思路:

1.获取Input框输入值,判断手机号码是否正确,不正确的话,弹窗提示。
2.设置按钮倒计时,设置默认sec=60,点击后开始计数,每秒减1。
3.封装倒计时函数,获取数字,设置定时器,如果倒计时为0,就停止计时。

好的,接下来我们看一下代码实现。

4、创建应用

#打卡不停更#OpenHarmony短信倒计时-开源基础软件社区

5、删除原有代码

删除原有代码,导入图片资源,做好准备工作。

#打卡不停更#OpenHarmony短信倒计时-开源基础软件社区

#打卡不停更#OpenHarmony短信倒计时-开源基础软件社区

6、编写代码,实现功能

(1)布局拆分

首先我们来看一下布局,然后将布局分解成它的各个基础元素:

  • 识别出它的行和列。
  • 这个布局是否包含网格布局?
  • 是否有重叠的元素?
  • 界面是否需要选项卡?
  • 留意需要对齐、内间距、或者边界的区域。

首先,识别出稍大的元素。在这个例子中,一个重叠图像,两个行区域,和一个文本区域。

#打卡不停更#OpenHarmony短信倒计时-开源基础软件社区

2、实现堆叠布局

首先是背景图片,我们采用堆叠布局,用Stack来展示背景并铺满整个页面。

Stack({ alignContent: Alignment.Center }) {
Image($r('app.media.img'))
.width('100%')
.width('100%')
}

3、实现文本展示

第一行为一个文本展示,我们用Text来展示。

Text("短信验证码倒计时")
.fontSize(36)

4、实现输入框

TextInput({ placeholder: "请输入手机号" }) // 无输入时的提示文本(可选)。
.type(InputType.Normal) // 输入框类型
.placeholderColor($r("app.color.fgLevel1")) // 设置placeholder颜色
.placeholderFont({
size: 20,
weight: FontWeight.Normal,
style: FontStyle.Normal
}) // 设置placeholder文本样式
.enterKeyType(EnterKeyType.Next) // 设置输入法回车键类型
.caretColor($r("app.color.info")) // 设置输入框光标颜色
.maxLength(20) // 设置文本的最大输入字符数
.onChange((value: string) => {
console.log("输入的数据是" + value) // 输入发生变化时,触发回调
this.text = value;
})
.width(200)
.height(50).backgroundColor(Color.White)

5、实现短信验证码按钮

Button(this.flag ? `${this.sec}` + "s后重新获取" : "短信验证吗", { type: ButtonType.Normal })
.width(150)
.height(50)
.backgroundColor($r("app.color.morandi2_alpha"))
.fontSize(18)
.fontColor($r("app.color.controlFocusFg_alpha"))
.borderRadius(10)
.onClick(() => {
}
})
}

6、定时器的实现

private materOnClick() {
var T = setInterval(() => {
if (this.sec <= 0) {
clearTimeout(T)
} else {
this.sec--
}
}, 1000)
}

7、签名及真机调试

将搭载OpenHarmony标准系统的开发板与电脑连接。

点击File> Project Structure… > Project>SigningConfigs界面勾选“Automatically generate signing”,等待自动签名完成即可,点击“OK”。如下图所示:

#打卡不停更#OpenHarmony短信倒计时-开源基础软件社区

在编辑窗口右上角的工具栏,点击

#打卡不停更#OpenHarmony短信倒计时-开源基础软件社区

按钮运行。效果如下所示:

#打卡不停更#OpenHarmony短信倒计时-开源基础软件社区

​想了解更多关于开源的内容,请访问:​

​51CTO 开源基础软件社区​

​https://ost.51cto.com​​。

责任编辑:jianghua 来源: 51CTO开源基础软件社区
相关推荐

2014-08-18 14:30:27

Android倒计时

2014-03-21 13:46:45

2011-04-11 09:50:56

Ubuntu 11.0

2014-02-18 10:36:33

2013-10-08 09:24:39

Windows 8.1Windows 8

2022-06-14 08:45:27

浏览器IEWindows

2011-04-11 09:17:28

Ubuntu倒计时

2015-03-23 17:58:04

验证码倒计时并行

2017-07-20 16:21:52

UICountDownTidelay

2012-03-28 09:37:07

Ubuntu 12.0倒计时

2012-12-28 13:50:00

2015-01-21 16:07:57

Android源码验证码倒计时

2014-04-02 07:57:12

IDF2014英特尔IDF

2021-02-19 11:10:28

5G运营商网络

2012-07-10 15:12:40

Windows XP

2013-05-24 10:37:54

JavaEE7发布JavaEE

2009-09-28 17:21:16

2016-11-08 14:52:55

GMGC

2019-08-23 09:52:59

Axure 产品经理

2011-05-23 08:43:40

jQueryjQuery插件
点赞
收藏

51CTO技术栈公众号