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

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

3天內不再提示

HarmonyOS開發(fā)案例:【卡片像素轉換】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-07 10:45 ? 次閱讀

1 卡片介紹

基于像素單位,展示了像素單位的基本知識與像素轉換API的使用。

2 標題

像素轉換(ArkTS)

3 介紹

本篇Codelab介紹像素單位的基本知識與像素單位轉換API的使用。通過像素轉換案例,向開發(fā)者講解了如何使用像素單位設置組件的尺寸、字體的大小以及不同像素單位之間的轉換方法。主要功能包括:

  1. 展示了不同像素單位的使用。
  2. 展示了像素單位轉換相關API的使用。

相關概念

  • [像素單位]:為開發(fā)者提供4種像素單位,框架采用vp為基準數據單位。
  • [List]:列表包含一系列相同寬度的列表項。適合連續(xù)、多行呈現(xiàn)同類數據,例如圖片和文本。
  • [Column]:沿垂直方向布局的容器。
  • [Text]:顯示一段文本的組件。

4 環(huán)境搭建

鴻蒙開發(fā)指導文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

軟件要求

  • [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ā)板為例,參照以下步驟進行:

  1. [獲取OpenHarmony系統(tǒng)版本]:標準系統(tǒng)解決方案(二進制)。以3.2 Release版本為例:
  2. 搭建燒錄環(huán)境。
    1. [完成DevEco Device Tool的安裝]
    2. [完成RK3568開發(fā)板的燒錄]
  3. 搭建開發(fā)環(huán)境。
    1. 開始前請參考[工具準備],完成DevEco Studio的安裝和開發(fā)環(huán)境配置。
    2. 開發(fā)環(huán)境配置完成后,請參考[使用工程向導]創(chuàng)建工程(模板選擇“Empty Ability”)。
    3. 工程創(chuàng)建完成后,選擇使用[真機進行調測]。

5 代碼結構解讀

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

├──entry/src/main/ets                   // 代碼區(qū)
│  ├──common
│  │  ├──constants
│  │  │  └──Constants.ets               // 常量類
│  │  └──utils
│  │     └──Logger.ets                  // 日志打印工具類
│  ├──entryability
│  │  └──EntryAbility.ts                // 程序入口類
│  ├──pages
│  │  ├──ConversionPage.ets             // 像素轉換頁面
│  │  ├──IndexPage.ets                  // 應用主頁面
│  │  └──IntroductionPage.ets           // 像素介紹頁面
│  ├──view
│  │  ├──ConversionItemComponment.ets   // 像素轉換Item
│  │  └──IntroductionItemComponment.ets // 像素介紹Item
│  └──viewmodel
│     ├──ConversionItem.ets             // 像素轉換信息
│     ├──ConversionViewModel.ets        // 像素轉換ViewModel
│     ├──IntroductionItem.ets           // 像素介紹信息類
│     └──IntroductionViewModel.ets      // 像素介紹ViewModel
└──entry/src/main/resources             // 資源文件

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

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

6 像素單位介紹頁面

在像素單位介紹頁面,介紹了系統(tǒng)像素單位的概念,并在頁面中為Text組件的寬度屬性設置不同的像素單位,fp像素單位則設置為Text組件的字體大小。

// IntroductionPage.ets
// 設置Text組件的寬度為200px
Text('200px')
  .textAlign(TextAlign.Center)
  .backgroundColor($r('app.color.blue_background'))
  .height($r('app.float.value_height'))
  .width('200px')
...
// 設置Text組件的寬度為200vp
Text('200vp')
  .textAlign(TextAlign.Center)
  .backgroundColor($r('app.color.blue_background'))
  .height($r('app.float.value_height'))
  .width('200vp')
...
// 設置Text組件的寬度為200lpx
Text('200lpx')
  .textAlign(TextAlign.Center)
  .backgroundColor($r('app.color.blue_background'))
  .height($r('app.float.value_height'))
  .width('200lpx')
...
// 分別設置Text的字體大小為14fp, 24fp
Column() {
  Text('這是一段為14fp的文字')
    .fontSize('14fp')
  ...
  Text('這是一段為24fp的文字')
    .fontSize('24fp')
  ...
}
// ...

說明:

  • 為組件設置具體的寬高時,可以不加“vp”(系統(tǒng)默認單位為vp)。
  • 為文字設置字體大小時可以不加“fp”(系統(tǒng)默認為fp)。

7 像素轉換頁面

在像素轉換頁面,通過使用像素轉換API,實現(xiàn)不同像素單位之間的相互轉換功能。

// ConversionPage.ets
// vp轉換為px
Row()
  .blueStyle()
  .width(vp2px(60))
// px轉換為vp
Row()
  .blueStyle()
  .width(px2vp(60))
// fp轉換為px
Row()
  .blueStyle()
  .width(fp2px(60))
// px轉換為fp
Row()
  .blueStyle()
  .width(px2fp(60))
// lpx轉換為px
Row()
  .blueStyle()
  .width(lpx2px(60))
// px轉換為lpx
Row()
  .blueStyle()
  .width(px2lpx(60))

審核編輯 黃宇

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

    關注

    56

    文章

    2267

    瀏覽量

    42489
  • HarmonyOS
    +關注

    關注

    79

    文章

    1946

    瀏覽量

    29739
收藏 人收藏

    評論

    相關推薦

    OpenHarmony開發(fā)案例:【計步器卡片

    基于Stage模型實現(xiàn)帶有卡片的計步應用,用于介紹卡片開發(fā)及生命周期實現(xiàn)。
    的頭像 發(fā)表于 04-15 09:22 ?609次閱讀
    OpenHarmony<b class='flag-5'>開發(fā)案</b>例:【計步器<b class='flag-5'>卡片</b>】

    OpenHarmony開發(fā)案例:【電影卡片

    基于元服務卡片的能力,實現(xiàn)帶有卡片的電影應用,介紹卡片開發(fā)過程和生命周期實現(xiàn)。
    的頭像 發(fā)表于 04-15 17:53 ?1150次閱讀
    OpenHarmony<b class='flag-5'>開發(fā)案</b>例:【電影<b class='flag-5'>卡片</b>】

    HarmonyOS服務卡片快速開發(fā)

    HarmonyOS服務卡片快速開發(fā)
    發(fā)表于 06-19 13:52

    HarmonyOS時鐘FA卡片開發(fā)樣例

    HarmonyOS時鐘FA卡片開發(fā)樣例介紹
    發(fā)表于 06-19 13:54

    絕對干貨!HarmonyOS開發(fā)者日資料全公開,鴻蒙開發(fā)者都在看

    、HarmonyOS Codelabs 開發(fā)樣例概覽:該主題講解HarmonyOS核心技術能力,圍繞智慧生活的7大場景,介紹Codelabs開發(fā)案例。8、
    發(fā)表于 08-04 14:36

    HarmonyOS卡片開發(fā)--服務卡片概述

    服務。 卡片提供方實例管理模塊:由卡片提供方開發(fā)者實現(xiàn),負責對卡片管理服務分配的卡片實例進行持久化管理。 通信適配層:由
    發(fā)表于 09-22 14:10

    HarmonyOS服務卡片開發(fā)-API接口簡析

    HarmonyOS中的服務卡片卡片提供方開發(fā)者提供以下接口能力。 類名接口名描述AbilityProviderFormInfo onCreateForm(Intent intent)
    發(fā)表于 10-12 10:42

    HarmonyOS服務卡片開發(fā)-文件組織與配置學習

    1. 文件組織目錄結構JS服務卡片(entry/src/main/js/Component)的典型開發(fā)目錄結構如下:目錄結構中文件分類如下:.hml結尾的HML模板文件,這個文件用來描述卡片頁面
    發(fā)表于 10-14 10:19

    HarmonyOS卡片開發(fā)-JS/JAVA場景能力簡析

    場景Java卡片JS卡片支持的版本實時刷新(類似時鐘)Java使用ComponentProvider做實時刷新代價比較大JS可以做到端側刷新,但是需要定制化組件HarmonyOS 2.0及以上
    發(fā)表于 10-19 09:23

    HarmonyOS/OpenHarmony應用開發(fā)-FA卡片開發(fā)體驗

    HarmonyOSOpenHarmony應用開發(fā)-FA卡片開發(fā)體驗.docx示例代碼:https://gitee.com/jltfcloudcn/jump_to/tree/maste
    發(fā)表于 12-06 14:48

    華為開發(fā)HarmonyOS零基礎入門:15分鐘玩轉harmonyOS服務卡片

    華為開發(fā)HarmonyOS零基礎入門:15分鐘玩轉harmonyOS服務卡片,服務卡片顏值高、擁有服務直達功能。
    的頭像 發(fā)表于 10-23 11:40 ?2136次閱讀
    華為<b class='flag-5'>開發(fā)</b>者<b class='flag-5'>HarmonyOS</b>零基礎入門:15分鐘玩轉<b class='flag-5'>harmonyOS</b>服務<b class='flag-5'>卡片</b>

    零基礎入門HarmonyOS-響應卡片交互事件

    2021 HDC2021華為開發(fā)者分論壇零基礎入門HarmonyOS-響應卡片交互事件
    的頭像 發(fā)表于 10-23 13:03 ?1272次閱讀
    零基礎入門<b class='flag-5'>HarmonyOS</b>-響應<b class='flag-5'>卡片</b>交互事件

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

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

    HarmonyOS服務卡片如何換膚

      關注HarmonyOS的小伙伴肯定對服務卡片已經很熟悉了。服務卡片(也簡稱為“卡片”)是FA(FeatureAbility,元服務)的一種界面展示形式,將FA的重要信息或操作前置到
    的頭像 發(fā)表于 02-12 10:28 ?2698次閱讀
    <b class='flag-5'>HarmonyOS</b>服務<b class='flag-5'>卡片</b>如何換膚

    用Java開發(fā)HarmonyOS服務卡片

    卡片服務:由卡片提供方開發(fā)者實現(xiàn),開發(fā)者實現(xiàn) onCreateForm、onUpdateForm 和 onDeleteForm 處理創(chuàng)建卡片
    的頭像 發(fā)表于 04-26 11:04 ?1403次閱讀