0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深入淺出學(xué)習(xí)eTs之吃藥鬧鐘定時(shí)功能實(shí)現(xiàn)

Harmony&嵌入式學(xué)習(xí) ? 來(lái)源:Harmony&嵌入式學(xué)習(xí) ? 作者:Harmony&嵌入式學(xué) ? 2023-05-13 13:24 ? 次閱讀

本項(xiàng)目Gitee倉(cāng)地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)

一、需求分析

我們本章節(jié)要實(shí)現(xiàn)一個(gè)鬧鐘功能,實(shí)現(xiàn)鬧鐘定時(shí),提醒大家吃藥(最好不需要吃藥喔),功能分析:

時(shí)間選擇控件

類(lèi)似手機(jī)的鬧鐘UI

滾動(dòng)條播放消息

設(shè)定后進(jìn)行提示

二、控件介紹

這里我們要用到的是時(shí)間選擇控件:

TimePicker:官方文檔

滾動(dòng)選擇時(shí)間的組件。

說(shuō)明: 該組件從API Version 8開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。

TimePicker 是選擇時(shí)間的滑動(dòng)選擇器組件,默認(rèn)以 00:00 至 23:59 的時(shí)間區(qū)創(chuàng)建滑動(dòng)選擇器
  interface TimePickerInterface {
  (options?: TimePickerOptions): TimePickerAttribute;
}

declare interface TimePickerOptions {
  selected?: Date;
}

簡(jiǎn)單使用樣例:

TimePicker({selected: new Date()}) // 設(shè)置默認(rèn)當(dāng)前時(shí)間
  .width(200)
  .height(120)
  .backgroundColor('#aabbcc')

Marquee:官方文檔

說(shuō)明: 該組件從API Version 8開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。

跑馬燈組件,用于滾動(dòng)展示一段單行文本,僅當(dāng)文本內(nèi)容寬度超過(guò)跑馬燈組件寬度時(shí)滾動(dòng)。

接口

Marquee(value: { start: boolean, step?: number, loop?: number, fromStart?: boolean, src: string })

參數(shù)

參數(shù)名 參數(shù)類(lèi)型 必填 默認(rèn)值 參數(shù)描述
start boolean - 控制是否進(jìn)入播放狀態(tài)。
step number 6 滾動(dòng)動(dòng)畫(huà)文本滾動(dòng)步長(zhǎng)。
loop number -1 設(shè)置重復(fù)滾動(dòng)的次數(shù),小于等于零時(shí)無(wú)限循環(huán)。
fromStart boolean true 設(shè)置文本從頭開(kāi)始滾動(dòng)或反向滾動(dòng)。
src string - 需要滾動(dòng)的文本。

wKgZomRfHySAVP28AANYNspxniQ150.gif

三、UI設(shè)計(jì)

(1)背景顏色

我想實(shí)現(xiàn)一個(gè)純白好看的界面,這次選擇使用灰色打底

    Row(){}
	}.width('100%')
    .height('100%')
    .backgroundColor('rgba(241, 243, 245, 0.95)')

并且我們本次要做一個(gè)橫屏下的開(kāi)發(fā),如何在預(yù)覽器中切換橫豎屏(看下圖)

wKgaomRfHySAVOq5AABzjcuuGD4572.png

(2)滾動(dòng)條

        Marquee({
          start: true,
          step: 36,
          loop: -1,
          fromStart: true,
          src: '請(qǐng)大家填寫(xiě)鬧鐘信息'
        })
          .width(600)
          .height(50)
          .fontSize(35)
          .allowScale(false)
          .fontWeight(FontWeight.Bold)
          .backgroundColor(Color.White)
          .margin({bottom:40,left:100})
          .borderRadius(30)

在這里引入了圓角的屬性borderRadius:可以把矩形變?yōu)閳A角矩形,更貼近圓形的UI更符合當(dāng)前的科技發(fā)展與生活

wKgZomRfHyWAdcuTAAO5F6VuOTw958.gif

(3)時(shí)間選擇條

        Row() {
          Text('設(shè)置鬧鐘時(shí)間(24小時(shí)):').fontSize(20)
          Blank()
          TimePicker({
          })
            .width('100vp')
            .height('100vp')
            .useMilitaryTime(true)
            .onChange((date: TimePickerResult) => {

            })
          Text('分').fontSize(18)
          Toggle({ type: ToggleType.Switch })

        }.width('500vp').backgroundColor(0xFFFFFF).padding({ left: 15 }).borderRadius(30)
        .margin({top:30})

這里放置了提示按鈕,中間間距放置了空的內(nèi)容,后面為時(shí)間選擇器,之后是之前學(xué)過(guò)的開(kāi)關(guān)器件

wKgaomRfHyWAMXqlAAB_D3o7sVk067.png

(4)消息提示

我們這里選擇使用Toast來(lái)實(shí)現(xiàn)交互提示

declare namespace prompt {
  // 顯示一個(gè)Toast
  function showToast(options: ShowToastOptions):void;
}

interface ShowToastOptions { // Toast配置參數(shù)
  message: string;           // Toast顯示文本
  duration?: number;         // Toast顯示時(shí)長(zhǎng)
  bottom?: string | number;  // Toast距離屏幕底部距離
}

在本系統(tǒng)中,當(dāng)選擇好時(shí)間以后,點(diǎn)擊開(kāi)關(guān),此時(shí)提示鬧鐘已經(jīng)設(shè)置好

wKgZomRfHyaAW3wyAAB6miy01YQ661.png

四、系統(tǒng)演示

wKgaomRfHyaADjyqAAfnfTyCytw171.gif

如上圖,已經(jīng)實(shí)現(xiàn)了全部?jī)?nèi)容

編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3253

    瀏覽量

    115067
  • ets
    ets
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    1624
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3730

    瀏覽量

    16424
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    #深入淺出學(xué)習(xí)eTs#(八)“猜大小”小游戲

    本項(xiàng)目Gitee倉(cāng)地址:[深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)
    的頭像 發(fā)表于 05-17 15:08 ?1045次閱讀
    #<b class='flag-5'>深入淺出</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>eTs</b>#(八)“猜大小”小游戲

    #深入淺出學(xué)習(xí)eTs#(十)藍(lán)藥丸還是紅藥丸

    本項(xiàng)目Gitee倉(cāng)地址: 深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)
    的頭像 發(fā)表于 05-17 15:07 ?974次閱讀
    #<b class='flag-5'>深入淺出</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>eTs</b>#(十)藍(lán)藥丸還是紅藥丸

    ARM7 深入淺出學(xué)習(xí)

    深入淺出ARM7 LPC213x_214 學(xué)習(xí)
    發(fā)表于 12-04 17:28

    深入淺出Android

    深入淺出Android
    發(fā)表于 04-26 10:48

    深入淺出排序學(xué)習(xí)使用指南

    深入淺出排序學(xué)習(xí):寫(xiě)給程序員的算法系統(tǒng)開(kāi)發(fā)實(shí)踐
    發(fā)表于 09-16 11:38

    #深入淺出學(xué)習(xí)eTs#(六)編寫(xiě)eTs第一個(gè)控件

    本項(xiàng)目Gitee倉(cāng)地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)一
    發(fā)表于 12-29 10:05

    #深入淺出學(xué)習(xí)eTs#(七)判斷密碼是否正確

    本項(xiàng)目Gitee倉(cāng)地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)一
    發(fā)表于 12-29 10:06

    #深入淺出學(xué)習(xí)eTs#(十一)別忘了吃藥

    本項(xiàng)目Gitee倉(cāng)地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)一
    發(fā)表于 12-29 13:33

    深入淺出Cortex-M0學(xué)習(xí)資料

    深入淺出Cortex-M0學(xué)習(xí)資料
    發(fā)表于 06-18 10:50 ?0次下載
    <b class='flag-5'>深入淺出</b>Cortex-M0<b class='flag-5'>學(xué)習(xí)</b>資料

    STM32深入淺出新手篇

    STM32深入淺出新手篇,很好的單片機(jī)學(xué)習(xí)資料。
    發(fā)表于 03-21 17:43 ?128次下載

    深入淺出學(xué)習(xí)250個(gè)通信原理資源下載

    深入淺出學(xué)習(xí)250個(gè)通信原理資源下載
    發(fā)表于 04-12 09:16 ?28次下載

    深入淺出學(xué)習(xí)低功耗藍(lán)牙協(xié)議棧

    深入淺出學(xué)習(xí)低功耗藍(lán)牙協(xié)議棧
    發(fā)表于 06-23 10:35 ?57次下載

    深入淺出學(xué)習(xí)eTs(一)模擬器/真機(jī)環(huán)境搭建

    本項(xiàng)目的Gitee倉(cāng)地址: 深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com
    的頭像 發(fā)表于 05-13 13:17 ?1728次閱讀
    <b class='flag-5'>深入淺出</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>eTs</b>(一)模擬器/真機(jī)環(huán)境搭建

    深入淺出學(xué)習(xí)eTs(七)如何判斷密碼是否正確

    本項(xiàng)目Gitee倉(cāng)地址: 深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)
    的頭像 發(fā)表于 05-13 13:20 ?927次閱讀
    <b class='flag-5'>深入淺出</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>eTs</b>(七)如何判斷密碼是否正確

    深入淺出學(xué)習(xí)eTs九宮格密碼鎖功能實(shí)現(xiàn)

    本項(xiàng)目Gitee倉(cāng)地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)
    的頭像 發(fā)表于 05-13 13:25 ?1612次閱讀
    <b class='flag-5'>深入淺出</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>eTs</b><b class='flag-5'>之</b>九宮格密碼鎖<b class='flag-5'>功能</b><b class='flag-5'>實(shí)現(xiàn)</b>