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

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

3天內不再提示

HarmonyOS開發案例:【卡片像素轉換】

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

1 卡片介紹

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

2 標題

像素轉換(ArkTS)

3 介紹

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

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

相關概念

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

4 環境搭建

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

軟件要求

  • [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. 工程創建完成后,選擇使用[真機進行調測]。

5 代碼結構解讀

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

├──entry/src/main/ets                   // 代碼區
│  ├──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 像素單位介紹頁面

在像素單位介紹頁面,介紹了系統像素單位的概念,并在頁面中為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”(系統默認單位為vp)。
  • 為文字設置字體大小時可以不加“fp”(系統默認為fp)。

7 像素轉換頁面

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

// 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))

審核編輯 黃宇

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

    關注

    55

    文章

    1963

    瀏覽量

    42221
  • HarmonyOS
    +關注

    關注

    79

    文章

    1914

    瀏覽量

    29497
收藏 人收藏

    評論

    相關推薦

    OpenHarmony開發案例:【計步器卡片

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

    OpenHarmony開發案例:【電影卡片

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

    HarmonyOS服務卡片快速開發

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

    HarmonyOS時鐘FA卡片開發樣例

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

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

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

    HarmonyOS卡片開發--服務卡片概述

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

    HarmonyOS服務卡片開發-API接口簡析

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

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

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

    HarmonyOS/OpenHarmony應用開發-FA卡片開發體驗

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

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

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

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

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

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

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

    HarmonyOS服務卡片如何換膚

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

    用Java開發HarmonyOS服務卡片

    卡片服務:由卡片提供方開發者實現,開發者實現 onCreateForm、onUpdateForm 和 onDeleteForm 處理創建卡片
    的頭像 發表于 04-26 11:04 ?1303次閱讀

    開發案例分享:萬能卡片也能用來玩游戲

    ,從大了講,我學習并進行HarmonyOS相關開發是為了能為鴻蒙生態建設盡一份綿薄之力,從小了講,就是為了自己的興趣。 而萬能卡片是一個讓我非常感興趣的東西。 很多時候我跟別人解釋什么是萬能
    的頭像 發表于 12-15 16:35 ?287次閱讀
    <b class='flag-5'>開發案</b>例分享:萬能<b class='flag-5'>卡片</b>也能用來玩游戲
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>