RM新时代网站-首页

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

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

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

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

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

1 卡片介紹

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

2 標題

像素轉(zhuǎn)換(ArkTS)

3 介紹

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

  1. 展示了不同像素單位的使用。
  2. 展示了像素單位轉(zhuǎn)換相關(guān)API的使用。

相關(guān)概念

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

4 環(huán)境搭建

鴻蒙開發(fā)指導(dǎo)文檔:[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)境配置完成后,請參考[使用工程向?qū)創(chuàng)建工程(模板選擇“Empty Ability”)。
    3. 工程創(chuàng)建完成后,選擇使用[真機進行調(diào)測]。

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

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

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

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

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

6 像素單位介紹頁面

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

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

說明:

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

7 像素轉(zhuǎn)換頁面

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

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

審核編輯 黃宇

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

    關(guān)注

    57

    文章

    2339

    瀏覽量

    42805
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1973

    瀏覽量

    30143
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    華為開發(fā)HarmonyOS零基礎(chǔ)入門:15分鐘玩轉(zhuǎn)harmonyOS服務(wù)卡片

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

    零基礎(chǔ)入門HarmonyOS-卡片內(nèi)容布局描述

    零基礎(chǔ)入門HarmonyOS-卡片內(nèi)容布局描述
    的頭像 發(fā)表于 10-23 11:56 ?1699次閱讀
    零基礎(chǔ)入門<b class='flag-5'>HarmonyOS</b>-<b class='flag-5'>卡片</b>內(nèi)容布局描述

    零基礎(chǔ)入門HarmonyOS-響應(yīng)卡片交互事件

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

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

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

    HarmonyOS服務(wù)卡片如何換膚

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

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

    卡片服務(wù):由卡片提供方開發(fā)者實現(xiàn),開發(fā)者實現(xiàn) onCreateForm、onUpdateForm 和 onDeleteForm 處理創(chuàng)建卡片
    的頭像 發(fā)表于 04-26 11:04 ?1516次閱讀
    RM新时代网站-首页