OpenHarmony實(shí)現(xiàn)類Android短信驗(yàn)證碼及倒計(jì)時(shí)流程詳解
1.背景
倒計(jì)時(shí)的效果在網(wǎng)站或其他平臺(tái)看到的很多了吧,今天就讓我們來看看在OpenHarmony中如何實(shí)現(xiàn)它吧!
2.效果預(yù)覽
視頻效果演示
開發(fā)板:DAYU200
IDE:DevEco Studio 3.0 Release Build Version: 3.0.0.993,
API:9
3.思路
1.獲取Input框輸入值,判斷手機(jī)號碼是否正確,不正確的話,彈窗提示。
2.設(shè)置按鈕倒計(jì)時(shí),設(shè)置默認(rèn)sec=60,點(diǎn)擊后開始計(jì)數(shù),每秒減1。
3.封裝倒計(jì)時(shí)函數(shù),獲取數(shù)字,設(shè)置定時(shí)器,如果倒計(jì)時(shí)為0,就停止計(jì)時(shí)。
好的,接下來我們看一下代碼實(shí)現(xiàn)。
4.創(chuàng)建應(yīng)用
5.刪除原有代碼
刪除原有代碼,導(dǎo)入圖片資源,做好準(zhǔn)備工作。
圖片右鍵保存:
6.編寫代碼實(shí)現(xiàn)功能
1.布局拆分
首先我們來看一下布局,然后將布局分解成它的各個(gè)基礎(chǔ)元素:
- 識別出它的行和列。
- 這個(gè)布局是否包含網(wǎng)格布局?
- 是否有重疊的元素?
- 界面是否需要選項(xiàng)卡?
- 留意需要對齊、內(nèi)間距、或者邊界的區(qū)域。
首先,識別出稍大的元素。在這個(gè)例子中,一個(gè)重疊圖像,兩個(gè)行區(qū)域,和一個(gè)文本區(qū)域。
2.實(shí)現(xiàn)堆疊布局
首先是背景圖片,我們采用堆疊布局,用Stack來展示背景并鋪滿整個(gè)頁面。
Stack({ alignContent: Alignment.Center }) { Image($r('app.media.img')) .width('100%') .width('100%') }
3.實(shí)現(xiàn)文本展示
第一行為一個(gè)文本展示,我們用Text來展示。
Text("短信驗(yàn)證碼倒計(jì)時(shí)") .fontSize(36)
4.實(shí)現(xiàn)輸入框
TextInput({ placeholder: "請輸入手機(jī)號" }) // 無輸入時(shí)的提示文本(可選)。 .type(InputType.Normal) // 輸入框類型 .placeholderColor($r("app.color.fgLevel1")) // 設(shè)置placeholder顏色 .placeholderFont({ size: 20, weight: FontWeight.Normal, style: FontStyle.Normal }) // 設(shè)置placeholder文本樣式 .enterKeyType(EnterKeyType.Next) // 設(shè)置輸入法回車鍵類型 .caretColor($r("app.color.info")) // 設(shè)置輸入框光標(biāo)顏色 .maxLength(20) // 設(shè)置文本的最大輸入字符數(shù) .onChange((value: string) => { console.log("輸入的數(shù)據(jù)是" + value) // 輸入發(fā)生變化時(shí),觸發(fā)回調(diào) this.text = value; }) .width(200) .height(50).backgroundColor(Color.White)
5.實(shí)現(xiàn)短信驗(yàn)證碼按鈕
Button(this.flag ? `${this.sec}` + "s后重新獲取" : "短信驗(yàn)證嗎", { 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.定時(shí)器的實(shí)現(xiàn)
private materOnClick() { var T = setInterval(() => { if (this.sec <= 0) { clearTimeout(T) } else { this.sec-- } }, 1000) }
7.簽名及真機(jī)調(diào)試
將搭載OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的開發(fā)板與電腦連接。
點(diǎn)擊File> Project Structure… > Project>SigningConfigs界面勾選“Automatically generate signing”,等待自動(dòng)簽名完成即可,點(diǎn)擊“OK”。如下圖所示:
在編輯窗口右上角的工具欄,點(diǎn)擊
按鈕運(yùn)行。效果如下所示:
8.源碼地址
9.總結(jié)
本文介紹了如何使用ArkUI框架,帶大家完成短信驗(yàn)證登錄,當(dāng)然除了文中展示的辦法,開發(fā)者還可以通過拓展其他相關(guān)的屬性和方法,實(shí)現(xiàn)更多好玩的樣例。
到此這篇關(guān)于OpenHarmony實(shí)現(xiàn)類Android短信驗(yàn)證碼及倒計(jì)時(shí)流程詳解的文章就介紹到這了,更多相關(guān)OpenHarmony短信驗(yàn)證碼及倒計(jì)時(shí)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Android自定義短信倒計(jì)時(shí)view流程分析
- Android使用CountDownTimer模擬短信驗(yàn)證倒計(jì)時(shí)
- Android使用Kotlin和RxJava 2.×實(shí)現(xiàn)短信驗(yàn)證碼倒計(jì)時(shí)效果
- Android 用RxBinding與RxJava2實(shí)現(xiàn)短信驗(yàn)證碼倒計(jì)時(shí)功能
- Android實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼倒計(jì)時(shí)功能示例
- Android短信驗(yàn)證碼倒計(jì)時(shí)驗(yàn)證的2種常用方式
- Android自定義Chronometer實(shí)現(xiàn)短信驗(yàn)證碼秒表倒計(jì)時(shí)功能
- Android開發(fā)之獲取短信驗(yàn)證碼后按鈕背景變化并且出現(xiàn)倒計(jì)時(shí)
- Android封裝實(shí)現(xiàn)短信驗(yàn)證碼的獲取倒計(jì)時(shí)
相關(guān)文章
Android自定義漸變式炫酷ListView下拉刷新動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了Android自定義漸變式炫酷ListView下拉刷新動(dòng)畫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02Android利用懸浮按鈕實(shí)現(xiàn)翻頁效果
這篇文章主要介紹了Android利用懸浮按鈕實(shí)現(xiàn)翻頁效果的相關(guān)資料,需要的朋友可以參考下2015-12-12Android CardView+ViewPager實(shí)現(xiàn)ViewPager翻頁動(dòng)畫的方法
本篇文章主要介紹了Android CardView+ViewPager實(shí)現(xiàn)ViewPager翻頁動(dòng)畫的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06Flutter實(shí)現(xiàn)抽屜動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了Flutter實(shí)現(xiàn)抽屜動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Android在啟動(dòng)adb時(shí)失敗解決方案
這篇文章主要介紹了Android在啟動(dòng)adb時(shí)失敗解決方案的相關(guān)資料,需要的朋友可以參考下2015-02-02Android Studio實(shí)現(xiàn)幀動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了Android Studio實(shí)現(xiàn)幀動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11Android開發(fā)解決popupWindow重疊報(bào)錯(cuò)問題
今天小編就為大家分享一篇關(guān)于Android開發(fā)解決popupWindow重疊報(bào)錯(cuò)問題的文章,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10