在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

HarmonyOS開發案例:【image、image-animator組件】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-26 17:32 ? 次閱讀

介紹

OpenHarmony提供了常用的圖片、圖片幀動畫播放器組件,開發者可以根據實際場景和開發需求,實現不同的界面交互效果,包括:點擊陰影效果、點擊切換狀態、點擊動畫效果、點擊切換動效。

相關概念

  • [image組件]:圖片組件,用于圖片資源的展示。
  • [image-animator組件]:幀動畫播放器,用以播放一組圖片,可以設置播放時間、次數等參數。
  • [通用事件]:事件綁定在組件上,當組件達到事件觸發條件時,會執行JS中對應的事件回調函數,實現頁面UI視圖和頁面JS邏輯層的交互。

環境搭建

軟件要求

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

硬件要求

  • 開發板類型:[潤和RK3568開發板]。
  • OpenHarmony系統:3.2 Release及以上版本。

環境搭建

完成本篇Codelab我們首先要完成開發環境的搭建,本示例以RK3568開發板為例,參照以下步驟進行:

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

代碼結構解讀

本篇Codelab只對核心代碼進行講解,對于完整代碼,我們會在gitee中提供。

├──entry/src/main/js	              // 代碼區
│  └──MainAbility
│     ├──common
│     │  ├──constants
│     │  │  └──commonConstants.js     // 幀動畫數據常量
│     │  └──images
│     ├──i18n		                  // 中英文	
│     │  ├──en-US.json			
│     │  └──zh-CN.json			
│     └──pages
│        └──index
│           ├──index.css              // 首頁樣式文件	
│           ├──index.hml              // 首頁布局文件
│           └──index.js               // 首頁腳本文件
└──entry/src/main/resources           // 應用資源目錄

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

搜狗高速瀏覽器截圖20240326151344.png

界面布局

本示例使用卡片布局,將四種實現以四張卡片的形式呈現在主界面。每張卡片都使用圖文結合的方式直觀地向開發者展示所實現效果。

每張卡片對應一個div容器組件,以水平形式分為左側文本和右側圖片兩部分。左側文本同樣是一個div容器組件,以垂直形式分為操作文本與效果描述文本。右側圖片則根據需要使用image組件或image-animator組件。當前示例中,前兩張卡片右側使用的是image組件,剩余兩張卡片使用的是image-animator組件。

< !-- index.hml -- >
< div class="container" >
    < !-- image組件的點擊效果 -- >
    < div class="card-container" for="item in imageCards" >
        < div class="text-container" >
            < text class="text-operation" >{{ contentTitle }}< /text >
            < text class="text-description" >{{ item.description }}< /text >
        < /div >
        < image class="{{ item.classType }}" src="{{ item.src }}" onclick="changeHookState({{ item.eventType }})"
               ontouchstart="changeShadow({{ item.eventType }},true)"
               ontouchend="changeShadow({{ item.eventType }},false)"/ >
    < /div >
	
    < !-- image-animator組件的點擊效果 -- >
    < div class="card-container" for="item in animationCards" >
        < div class="text-container" >
            < text class="text-operation" >{{ contentTitle }}< /text >
            < text class="text-description" >{{ item.description }}< /text >
        < /div >
        < image-animator id="{{ item.id }}" class="animator" images="{{ item.frames }}" iteration="1"
                        duration="{{ item.durationTime }}" onclick="handleStartFrame({{ item.type }})"/ >
    < /div >
< /div >

事件交互

為image組件添加touchstart和touchend事件,實現點擊圖片改變邊框陰影的效果,點擊觸碰結束時,恢復初始效果。

// index.js
// 點擊陰影效果
changeShadow(eventType, shadowFlag) {
  if (eventType === 'click') {
    return;
  }
  if (shadowFlag) {
    this.imageCards[0].classType = 'main-img-touch';
  } else {
    this.imageCards[0].classType = 'img-normal';
  }
}

為image組件添加click事件,實現點擊切換狀態并變換顯示圖片的效果。

// index.js
// 點擊切換狀態
changeHookState(eventType) {
  if (eventType === 'touch') {
    return;
  }
  if (this.hook) {
    this.imageCards[1].src = '/common/images/ic_fork.png';
    this.hook = false;
  } else {
    this.imageCards[1].src = '/common/images/ic_hook.png';
    this.hook = true;
  }
}

為image-animator組件添加click事件,實現點擊播放幀動畫效果。

// index.js
// 點擊動畫效果方法
handleStartFrame(type) {
  if (type === 'dial') {
    this.animationCards[0].durationTime = CommonConstants.DURATION_TIME;
    this.$element('dialAnimation').start();
  } else {
    if (this.animationCards[1].flag) {
      this.animationCards[1].frames = this.collapse;
      this.animationCards[1].durationTime = this.durationTimeArray[0];
      this.$element('toggleAnimation').start();
      this.animationCards[1].flag = false;
      this.$element('toggleAnimation').stop();
    } else {
      this.animationCards[1].frames = this.arrow;
      this.animationCards[1].durationTime = this.durationTimeArray[1];
      this.$element('toggleAnimation').start();
      this.animationCards[1].flag = true;
      this.$element('toggleAnimation').stop();
    }
  }
}

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 鴻蒙
    +關注

    關注

    57

    文章

    2467

    瀏覽量

    43614
  • HarmonyOS
    +關注

    關注

    79

    文章

    2005

    瀏覽量

    31769
  • OpenHarmony
    +關注

    關注

    26

    文章

    3802

    瀏覽量

    17759
收藏 人收藏

    評論

    相關推薦

    CMOS Image sensor的基礎知識

    攝像機用來成像的感光元件叫做Image Sensor或Imager。目前廣泛使用的2種Image Sensor是CCD和CMOS Image Sensor(CIS)。
    的頭像 發表于 01-15 11:07 ?5912次閱讀
    CMOS <b class='flag-5'>Image</b> sensor的基礎知識

    HarmonyOS開發案例:【基礎組件Slider的使用】

    學習如何使用聲明式UI編程框架的基礎組件。本篇Codelab將會使用Image組件、Slider組件、Text組件共同實現一個可調節的風車動
    的頭像 發表于 05-10 16:01 ?897次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發案</b>例:【基礎<b class='flag-5'>組件</b>Slider的使用】

    解決HarmonyOS應用中Image組件白塊問題的有效方案

    HarmonyOS應用開發過程中,通過Image組件加載網絡圖片時,通常會經歷四個關鍵階段:組件創建、圖片資源下載、圖片解碼和刷新。當加載
    的頭像 發表于 02-17 10:08 ?824次閱讀
    解決<b class='flag-5'>HarmonyOS</b>應用中<b class='flag-5'>Image</b><b class='flag-5'>組件</b>白塊問題的有效方案

    鴻蒙應用開發image-animator幀動畫的播放

    `這里使用image-animator做了一個幀動畫的播放設置了四個按鈕控制動漫的播放效果stop: 停止播放圖片幀動畫。start: 開始播放圖片幀動畫。再次調用,重新從第1幀開始播放。pause
    發表于 04-28 10:16

    HarmonyOS實戰—Image組件的剪切和縮放

    1. Image圖片標簽概述:圖片(Image)是用來顯示圖片的組件。常見的屬性:id,長、寬、高等。具體可以參考華為開發手冊(組件的通用屬
    發表于 08-17 18:00

    HarmonyOS應用開發-ClickableImageJsDome體驗

    的設計。本DEMO主要涉及到的頁面元素有有imageimage-animator,展現圖片資源在界面交互中幾種常見運用效果。旨在幫助開發人員快速了解HarmonyOS JSUI應用的
    發表于 06-18 11:42

    HarmonyOS實現幾種常見圖片點擊效果

    。 相關概念 ● ??image組件??:圖片組件,用于圖片資源的展示。 ● ??image-animator組件??:幀動畫播放器,用以播
    發表于 09-07 15:50

    Biosignal and Biomedical Image

    Biosignal and Biomedical Image Processing MATLAB based Applications
    發表于 02-17 23:09 ?0次下載
    Biosignal and Biomedical <b class='flag-5'>Image</b>

    Digital Image Processing (Hong

    Digital Image Processing:•What is an Image?Picture, photographVisual dataUsually two or three
    發表于 06-18 07:39 ?17次下載

    Image Compression - Spelling O

    Image Compression - Spelling Out the Options
    發表于 10-02 09:16 ?25次下載
    <b class='flag-5'>Image</b> Compression - Spelling O

    Image Matters為極端成像應用開發創新的高性能平臺

    Image Matters為極端成像應用開發創新的高性能平臺。
    的頭像 發表于 01-11 07:08 ?2044次閱讀

    Halcon教程:Image、Regiong、XLD基礎

    一 讀取的3種方式: read_image( image,'filename') ? ? ? //image 是輸出對象,后面是輸入文件的路徑和名稱 讀取多圖:? 1,申明一個數組,分別保存路徑
    的頭像 發表于 01-07 11:52 ?5849次閱讀
    Halcon教程:<b class='flag-5'>Image</b>、Regiong、XLD基礎

    HarmonyOS 應用開發-ClickableImageJsDome體驗

    的設計。本DEMO主要涉及到的頁面元素有有imageimage-animator,展現圖片資源在界面交互中幾種常見運用效果。旨在幫助開發人員快速了解 HarmonyOS JSUI應用
    的頭像 發表于 06-20 00:24 ?1228次閱讀
    <b class='flag-5'>HarmonyOS</b> 應用<b class='flag-5'>開發</b>-ClickableImageJsDome體驗

    OpenHarmony應用開發之ETS開發方式Image組件

    今天帶大家了解ETS開發方式中的Image組件
    的頭像 發表于 07-03 12:06 ?3683次閱讀
    OpenHarmony應用<b class='flag-5'>開發</b>之ETS<b class='flag-5'>開發</b>方式<b class='flag-5'>Image</b><b class='flag-5'>組件</b>

    鴻蒙ArkTS聲明式組件Image

    Image為圖片組件,常用于在應用中顯示圖片。Image支持加載[PixelMap]、[ResourceStr]和[DrawableDescriptor]類型的數據源,支持png、jpg、bmp、svg和gif類型的圖片格式。
    的頭像 發表于 06-23 20:32 ?1531次閱讀
    鴻蒙ArkTS聲明式<b class='flag-5'>組件</b>:<b class='flag-5'>Image</b>
    主站蜘蛛池模板: 欧美一级看片免费观看视频在线 | 在线视频 一区二区 | 免费在线看片网站 | 韩国理论片2023现在观看 | 你懂的在线免费观看 | 4480yy私人午夜a级国产 | 美女网站色免费 | 狠狠干狠狠色 | 国产精品资源网站在线观看 | 激情久久久久久久久久久 | 成人国产精品毛片 | 午夜免费福利在线观看 | se综合| 日韩精品一区二区三区免费视频 | 日本黄大片在线观看 | 四虎国产精品成人永久免费影视 | 狠狠做深爱婷婷久久一区 | 天天做天天爱天天爽综合网 | 丁香九月婷婷 | 免费艹逼视频 | 夜夜草天天干 | 1024在线观看你懂的 | 色老头永久免费网站 | 免费看黄色片网站 | 在线观看午夜 | 永久手机看片福利盒子 | 国产叼嘿网站免费观看不用充会员 | 中国又粗又大又爽的毛片 | 狠狠色丁香九九婷婷综合五月 | 国内真实实拍伦视频在线观看 | 日日夜夜天天久久 | 久久精品国产精品亚洲人人 | 亚洲综合春色另类久久 | 欧美特黄视频在线观看 | 色五五月五月开 | 亚洲欧美一区二区久久香蕉 | 68日本xxxxxxxxx18能看的 | 射菊吧 | 荡女妇边被c边呻吟久久 | 国产一级淫 | 4hu44四虎在线观看 |