一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

HarmonyOS開發(fā)案例:【基礎(chǔ)組件Slider的使用】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-10 16:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

介紹

在本教程中,我們將通過一個簡單的樣例,學(xué)習(xí)如何使用聲明式UI編程框架的基礎(chǔ)組件。本篇Codelab將會使用Image組件、Slider組件、Text組件共同實(shí)現(xiàn)一個可調(diào)節(jié)的風(fēng)車動畫,實(shí)現(xiàn)效果如圖所示:

相關(guān)概念

  • [Text組件]:文本組件,用于呈現(xiàn)一段信息。
  • [Image組件]:圖片組件,用來渲染展示圖片。
  • [Slider組件]:滑動條組件,用來快速調(diào)節(jié)設(shè)置值,如音量、亮度等。

環(huán)境搭建

軟件要求

  • [DevEco Studio]版本:DevEco Studio 3.1 Release。
  • OpenHarmony SDK版本:API version 9。

硬件要求

  • 開發(fā)板類型:[潤和RK3568開發(fā)板]。
  • OpenHarmony系統(tǒng):3.2 Release。

環(huán)境搭建

完成本篇Codelab我們首先要完成開發(fā)環(huán)境的搭建,本示例以RK3568開發(fā)板為例,參照以下步驟進(jìn)行:

  1. [獲取OpenHarmony系統(tǒng)版本]:標(biāo)準(zhǔn)系統(tǒng)解決方案(二進(jìn)制)。以3.2 Release版本為例:
  2. 搭建燒錄環(huán)境。
    1. [完成DevEco Device Tool的安裝]
    2. [完成RK3568開發(fā)板的燒錄]
  3. 搭建開發(fā)環(huán)境。
    1. 開始前請參考[工具準(zhǔn)備],完成DevEco Studio的安裝和開發(fā)環(huán)境配置。
    2. 開發(fā)環(huán)境配置完成后,請參考[使用工程向?qū)創(chuàng)建工程(模板選擇“Empty Ability”)。
    3. 工程創(chuàng)建完成后,選擇使用[真機(jī)進(jìn)行調(diào)測]。
    4. 鴻蒙開發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

代碼結(jié)構(gòu)解讀

本篇Codelab只對核心代碼進(jìn)行講解,完整代碼可以直接從gitee獲取。

├──entry/src/main/ets             // 代碼區(qū)      
│  ├──common                        
│  │  └──Constants.ets            // 常量
│  ├──entryability
│  │  └──EntryAbility.ts          // 應(yīng)用的入口
│  ├──pages
│  │  └──SliderPage.ets           // 入口頁面
│  └──view                         
│     └──PanelComponent.ets       // 自定義組件
└──entry/src/main/resources       // 資源文件目錄

`HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789v直接拿`

頁面結(jié)構(gòu)

整個程序的頁面構(gòu)造十分簡潔,由Image組件構(gòu)成風(fēng)車。自定義組件PanelComponent由Text組件和Slider組件構(gòu)成,用來顯示文本和控制圖像,效果如圖所示:

添加風(fēng)車

在SliderPage文件中,添加Image組件,給定使用圖片的路徑,并配置通用屬性[圖形變換]中的rotate屬性和scale屬性。自此,頁面中已經(jīng)有了風(fēng)車的圖像。

// SliderPage.ets
...
  build() {
    Column() {
      Image($rawfile('windmill.png'))
        .objectFit(ImageFit.Contain)
        .height(Constants.IMAGE_SIZE)
        .width(Constants.IMAGE_SIZE)
        .rotate({
          x: RotatePosition.X,
          y: RotatePosition.Y,
          z: RotatePosition.Z,
          angle: this.angle
        })
        .scale({ x: this.imageSize, y: this.imageSize })
        ...
    }
    .justifyContent(FlexAlign.End)
    .height(Constants.PERCENTAGE_100)
    .backgroundColor($r('app.color.background_color'))
  }
...

效果如圖所示:

如何讓風(fēng)車動起來

在speedChange()函數(shù)中,以固定的時間間隔調(diào)整rotate的角度,也就是參數(shù)angle。onPageShow是SliderPage頁面的生命周期方法,在其中調(diào)用speedChange()函數(shù),表示從程序啟動時,便開始執(zhí)行。自此我們已經(jīng)實(shí)現(xiàn)了風(fēng)車的旋轉(zhuǎn)效果。代碼如下:

// SliderPage.ets
...
  speedChange(): void {
    this.angle = Constants.ANGLE;
    this.interval = setInterval(() = > {
      this.angle += this.speed;
    }, Constants.DELAY_TIME)
  }

  onPageShow(): void {
    clearInterval(this.interval);
    this.speedChange();
  }
...

調(diào)節(jié)風(fēng)車的轉(zhuǎn)速

在PanelComponent的構(gòu)造參數(shù)中,給定調(diào)節(jié)轉(zhuǎn)速的初始值和樣式。在callback事件中,將子組件Slider滑動的value給到事先定義好的變量speed,實(shí)現(xiàn)Text組件的更新,并且通過調(diào)用speedChange()方法實(shí)現(xiàn)轉(zhuǎn)速的改變。代碼如下:

// SliderPage.ets
...
PanelComponent({
  mode: SliderMode.SPEED,
  title: $r('app.string.speed_text'),
  text: this.speed.toFixed(Constants.FRACTION_DIGITS),
  callback: ((value: number, mode: SliderChangeMode) = > {
    this.speed = value;
    clearInterval(this.interval);
    this.speedChange();
  }),
  options: {
    value: this.speed,
    min: SliderSpeed.MIN,
    max: SliderSpeed.MAX,
    step: SliderSpeed.STEP,
    style: SliderStyle.InSet
  }
})
...

調(diào)節(jié)風(fēng)車的大小

在PanelComponent的構(gòu)造參數(shù)中,給定調(diào)節(jié)大小的初始值和樣式。在callback事件中,將子組件Slider滑動的value給到事先定義好的變量imageSize,實(shí)現(xiàn)Text組件的更新和調(diào)節(jié)風(fēng)車大小。代碼如下:

// SliderPage.ets
...
PanelComponent({
  mode: SliderMode.SCALE,
  title: $r('app.string.scale_text'),
  text: this.imageSize.toFixed(Constants.FRACTION_DIGITS),
  callback: ((value: number, mode: SliderChangeMode) = > {
    this.imageSize = value;
  }),
  options: {
    value: this.imageSize,
    min: SliderScale.MIN,
    max: SliderScale.MAX,
    step: SliderScale.STEP,
    style: SliderStyle.InSet
  }
})
.margin({
  bottom: Constants.PANEL_MARGIN_BOTTOM,
  top: Constants.PANEL_MARGIN_TOP
});
...
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2126

    瀏覽量

    33115
  • OpenHarmony
    +關(guān)注

    關(guān)注

    29

    文章

    3854

    瀏覽量

    18639
  • 鴻蒙OS
    +關(guān)注

    關(guān)注

    0

    文章

    191

    瀏覽量

    4998
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    HarmonyOS開發(fā)案例:【 slider組件的使用】

    主要介紹slider滑動條組件的使用。如圖所示拖動對應(yīng)滑動條調(diào)節(jié)風(fēng)車的旋轉(zhuǎn)速度以及縮放比例。
    的頭像 發(fā)表于 04-25 22:02 ?1487次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發(fā)案</b>例:【 <b class='flag-5'>slider</b><b class='flag-5'>組件</b>的使用】

    HarmonyOS開發(fā)案例:【使用List組件實(shí)現(xiàn)商品列表】

    OpenHarmony ArkTS提供了豐富的接口和組件開發(fā)者可以根據(jù)實(shí)際場景和開發(fā)需求,選用不同的組件和接口。
    的頭像 發(fā)表于 05-10 16:41 ?2068次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發(fā)案</b>例:【使用List<b class='flag-5'>組件</b>實(shí)現(xiàn)商品列表】

    HarmonyOS開發(fā)案例:【W(wǎng)eb組件實(shí)現(xiàn)抽獎】

    基于ArkTS的聲明式開發(fā)范式的樣例,主要介紹了Web組件如何加載本地和云端H5小程序。
    的頭像 發(fā)表于 05-09 18:31 ?1673次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發(fā)案</b>例:【W(wǎng)eb<b class='flag-5'>組件</b>實(shí)現(xiàn)抽獎】

    HarmonyOS開發(fā)案例:【常用組件與布局】

    HarmonyOS ArkUI提供了豐富多樣的UI組件,您可以使用這些組件輕松地編寫出更加豐富、漂亮的界面。
    的頭像 發(fā)表于 05-09 18:20 ?1791次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發(fā)案</b>例:【常用<b class='flag-5'>組件</b>與布局】

    HarmonyOS IoT 硬件開發(fā)案例分享

    ``許思維老師HiSpark Wi-Fi IoT 開發(fā)案例分享:案例一:AHT20溫濕度傳感器開發(fā)、調(diào)試;案例二:oled屏驅(qū)動庫移植,調(diào)試;案例三:用OLED屏播放視頻,Wi-Fi 和 TCP/IP 綜合應(yīng)用。 ``
    發(fā)表于 10-27 17:30

    HarmonyOS應(yīng)用開發(fā)資料(Svg組件

    1、HarmonyOS應(yīng)用開發(fā)-Svg組件circle  該組件從API version 7開始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。2、
    發(fā)表于 03-17 14:49

    組件資料】HarmonyOS三方件開發(fā)指南

    1、HarmonyOS三方件開發(fā)指南——LoadingView組件1.LoadingView組件功能介紹1.1.功能介紹:LoadingView組件
    發(fā)表于 03-21 11:18

    HarmonyOS/OpenHarmony應(yīng)用開發(fā)-聲明式開發(fā)范式組件匯總

    組件是構(gòu)建頁面的核心,每個組件通過對數(shù)據(jù)和方法的簡單封裝,實(shí)現(xiàn)獨(dú)立的可視、可交互功能單元。組件之間相互獨(dú)立,隨取隨用,也可以在需求相同的地方重復(fù)使用。聲明式開發(fā)范式目前可供選擇的
    發(fā)表于 01-19 11:14

    HarmonyOS/OpenHarmony原生應(yīng)用-ArkTS萬能卡片組件Slider

    滑動條組件,通常用于快速調(diào)節(jié)設(shè)置值,如音量調(diào)節(jié)、亮度調(diào)節(jié)等應(yīng)用場景。該組件從API Version 7開始支持。無子組件 一、接口 Slider(options?: {value?:
    發(fā)表于 10-18 15:39

    HarmonyOS鴻蒙原生應(yīng)用開發(fā)設(shè)計(jì)- 服務(wù)組件

    HarmonyOS設(shè)計(jì)文檔中,為大家提供了一些已經(jīng)設(shè)計(jì)好的原生服務(wù)組件庫,開發(fā)者可以根據(jù)需要直接引用。 開發(fā)者直接使用官方提供的服務(wù)組件庫樣
    發(fā)表于 10-24 16:12

    華為開發(fā)者分論壇HarmonyOS學(xué)生公開課-OpenHarmony Codelabs開發(fā)案

    2021華為開發(fā)者分論壇HarmonyOS學(xué)生公開課-OpenHarmony Codelabs開發(fā)案
    的頭像 發(fā)表于 10-24 11:25 ?2173次閱讀
    華為<b class='flag-5'>開發(fā)</b>者分論壇<b class='flag-5'>HarmonyOS</b>學(xué)生公開課-OpenHarmony Codelabs<b class='flag-5'>開發(fā)案</b>例

    HarmonyOS開發(fā)案例:【app內(nèi)字體大小調(diào)節(jié)】

    使用基礎(chǔ)組件[Slider],通過拖動滑塊調(diào)節(jié)應(yīng)用內(nèi)字體大小。
    的頭像 發(fā)表于 04-19 15:36 ?1350次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發(fā)案</b>例:【app內(nèi)字體大小調(diào)節(jié)】

    HarmonyOS開發(fā)案例:【視頻播放器】

    基于video、swiper和slider組件,實(shí)現(xiàn)簡單的視頻播放器,可支持海報輪播、視頻播放等功能。
    的頭像 發(fā)表于 04-22 21:06 ?999次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發(fā)案</b>例:【視頻播放器】

    HarmonyOS開發(fā)案例:【 switch、chart組件的使用】

    基于switch組件和chart組件,實(shí)現(xiàn)線形圖、占比圖、柱狀圖,并通過switch切換chart組件數(shù)據(jù)的動靜態(tài)顯示。
    的頭像 發(fā)表于 04-25 20:58 ?1095次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發(fā)案</b>例:【 switch、chart<b class='flag-5'>組件</b>的使用】

    HarmonyOS 5】金融應(yīng)用開發(fā)鴻蒙組件實(shí)踐

    HarmonyOS 5】金融應(yīng)用開發(fā)鴻蒙組件實(shí)踐 ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財(cái)#
    的頭像 發(fā)表于 07-11 18:20 ?290次閱讀
    【<b class='flag-5'>HarmonyOS</b> 5】金融應(yīng)用<b class='flag-5'>開發(fā)</b>鴻蒙<b class='flag-5'>組件</b>實(shí)踐