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

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

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

深入淺出學(xué)習(xí)eTs之程序效率優(yōu)化組件

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

一、需求分析

wKgaomRfIEiAGaMwAAI88RtKOxM873.png

本章節(jié)我們來制作一個(gè)程序猿笑話,《項(xiàng)目經(jīng)理要求這里運(yùn)行緩慢,好讓客戶給錢優(yōu)化》,在這里選擇使用OpenAtom OpenHarmony新上的一個(gè)組件來實(shí)現(xiàn),并且通過動(dòng)態(tài)式更新組件寬度和高度的方式,在同一個(gè)頁面實(shí)現(xiàn)不同的呈現(xiàn)效果

頁面跳轉(zhuǎn)

動(dòng)態(tài)調(diào)整組件

實(shí)現(xiàn)反應(yīng)快慢的調(diào)節(jié)

本章節(jié)于#深入淺出學(xué)習(xí)eTs#(七)判斷密碼是否正確上修改

二、控件介紹

(1)LoadingProgressOpenAtom OpenHarmony

用于顯示加載進(jìn)展。

說明:

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

接口

LoadingProgress()

創(chuàng)建加載進(jìn)展組件。

屬性

名稱 參數(shù)類型 描述
color ResourceColor 設(shè)置加載進(jìn)度條前景色。


wKgZomRfIEmAaml1AAWQKRiWlq0235.gif

// xxx.ets
@Entry
@Component
struct LoadingProgressExample {
  build() {
    Column({ space: 5 }) {
      Text('Orbital LoadingProgress ').fontSize(9).fontColor(0xCCCCCC).width('90%')
      LoadingProgress()
        .color(Color.Blue)
    }.width('100%').margin({ top: 5 })
  }
}

(2)頁面路由

本模塊首批接口從API version 8開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。

頁面路由需要在頁面渲染完成之后才能調(diào)用,在onInit和onReady生命周期中頁面還處于渲染階段,禁止調(diào)用頁面路由方法。

1、導(dǎo)入模塊

import router from '@ohos.router'

2、router.push(跳轉(zhuǎn)到應(yīng)用內(nèi)的指定頁面。)

            router.push({          // 使用push入棧一個(gè)新頁面
                url: "pages/USED"  // 通過url指定新打開的頁面
              })

3、router.replace(用應(yīng)用內(nèi)的某個(gè)頁面替換當(dāng)前頁面,并銷毀被替換的頁面)

// 在當(dāng)前頁面中
export default {
  replacePage() {
    router.replace({
      url: 'pages/detail/detail',
      params: {
        data1: 'message',
      },
    });
  }
}

4、router.back(返回上一頁面或指定的頁面)

export default {    
  indexPushPage() {        
    router.push({            
      url: 'pages/detail/detail',        
    });        
  }
}

(3)定時(shí)器實(shí)現(xiàn)

  private Run_Get() {
    var T = setInterval(() => {
      if (this.Num == 0) {
        clearTimeout(T)
      }
    }, 1000)
  }

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

(1)動(dòng)態(tài)組件

這里選擇使用變量來充當(dāng)組件寬度和高度的方式,首先新建變量

  @State LO_H: string = '400'
  @State LO_W: string = '400'
  @State SEC: number = 5
  @State B_H: string = '0'
  @State B_w: string = '0'

此時(shí)在頁面內(nèi)放置一個(gè)LoadingProgress和一個(gè)Text

    Row() {
      Column({ space: 5 }) {

        Text("歡迎VIP用戶")
          .fontSize('50')
          .width(this.B_H)
          .height(this.B_w)
        LoadingProgress()
          .color(Color.Blue)
          .width(this.LO_H)
          .height(this.LO_W)

      }.width('100%').margin({ top: 5 })
    }
    .height('100%')

wKgaomRfIEmAdTcHAABoRct9N58405.png

(2)放置定時(shí)器

  private Run_Get() {
    var T = setInterval(() => {
      if (this.SEC == 0) {
        this.LO_H = '0';
        this.LO_W = '0';
        this.B_H = '200';
        this.B_w = '200';
        clearTimeout(T)
      }else
      {
        this.SEC -= 1;
      }

    }, 1000)
  }



  onPageShow(){
    this.Run_Get()
  }

在5s后,實(shí)現(xiàn)一個(gè)TXT文檔顯示

wKgZomRfIEqAJ8kCAABHKN__3as701.png

(3)頁面跳轉(zhuǎn)

         if(this.QQ == "11066")
            {
              this.Password = '登錄成功'
              router.push({          // 使用push入棧一個(gè)新頁面
                url: "pages/USED"  // 通過url指定新打開的頁面
              })
            }else
            {
              this.Password = '登錄失敗'
            }
wKgaomRfIEuAE_OeAAB0hP5l-G0861.png

四、動(dòng)態(tài)顯示

(1)5秒測試

wKgZomRfIEuABjbqAAzy3njwoaI225.gif

(2)2秒測試

wKgaomRfIEyAOSDkAActCrmwM-k382.gif

(3)總結(jié)

現(xiàn)在程序效率優(yōu)化了60%,是不是一定會(huì)給我漲工資呀

編輯:黃飛

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

    關(guān)注

    1

    文章

    499

    瀏覽量

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

    關(guān)注

    0

    文章

    20

    瀏覽量

    1604
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3611

    瀏覽量

    15966
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    #深入淺出學(xué)習(xí)eTs#(九)變紅碼?專屬二維碼生成

    本項(xiàng)目Gitee倉地址: 深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)
    的頭像 發(fā)表于 05-13 13:21 ?1356次閱讀
    #<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倉地址: 深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)
    的頭像 發(fā)表于 05-17 15:07 ?898次閱讀
    #<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

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

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

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

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

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

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

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

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

    深入淺出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 ?56次下載

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

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