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

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

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

鴻蒙OS開發(fā)學(xué)習(xí):【尺寸適配實現(xiàn)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-10 16:05 ? 次閱讀

概述

鴻蒙開發(fā)中,尺寸適配是一個重要的概念,它可以幫助我們在不同屏幕尺寸的設(shè)備上正確顯示和布局我們的應(yīng)用程序。本文將介紹如何在鴻蒙開發(fā)中實現(xiàn)尺寸適配的方法。

流程圖

image.png

詳細(xì)步驟

1. 定義適配方案

在鴻蒙開發(fā)中,我們可以通過定義適配方案來指定不同屏幕尺寸下的適配策略。這些適配方案通常包括不同屏幕尺寸下的像素密度、字體大小、布局占比等信息。

2. 獲取屏幕信息

在代碼中,我們需要獲取當(dāng)前設(shè)備的屏幕信息,包括屏幕寬度、高度、像素密度等。可以使用以下代碼獲取屏幕信息:

DisplayAttributes displayAttributes = DisplayManager.getInstance().getDefaultDisplay(this).getAttributes();
int screenWidth = displayAttributes.width; // 屏幕寬度
int screenHeight = displayAttributes.height; // 屏幕高度
float density = displayAttributes.density; // 像素密度

3. 計算適配比例

根據(jù)獲取到的屏幕信息,我們可以根據(jù)定義好的適配方案計算出適配比例,用于后續(xù)的尺寸適配計算。適配比例可以通過以下代碼計算得出:

float targetDensity = screenWidth / 360f; // 根據(jù)設(shè)計稿的寬度來計算適配比例
float targetScaledDensity = targetDensity * (scaledDensity / density); // 根據(jù)像素密度來調(diào)整字體大小
int targetDensityDpi = (int) (targetDensity * 160); // 計算適配后的像素密度

4. 設(shè)置適配參數(shù)

在應(yīng)用程序的入口處,我們需要設(shè)置適配參數(shù),使得應(yīng)用程序在不同屏幕尺寸下能夠正確適配??梢允褂靡韵麓a設(shè)置適配參數(shù):

Resources resources = this.getResourceManager();
Configuration config = resources.getConfiguration();
config.fontScale = 1.0f; // 設(shè)置字體縮放比例
config.density = targetDensity; // 設(shè)置像素密度
config.scaledDensity = targetScaledDensity; // 設(shè)置字體像素密度
config.densityDpi = targetDensityDpi; // 設(shè)置像素密度
resources.updateConfiguration(config, resources.getDisplayMetrics());

5. 編寫布局代碼

在編寫布局代碼時,可以使用鴻蒙開發(fā)中提供的尺寸單位來實現(xiàn)尺寸適配。使用vp單位可以根據(jù)屏幕密度自動調(diào)整尺寸,使用fp單位可以根據(jù)屏幕字體大小自動調(diào)整尺寸。

< text
    width="100vp"
    height="50vp"
    font-size="18fp"
    text="Hello, World!" / >

6. 進(jìn)行適配測試

完成以上步驟后,我們可以在不同尺寸的設(shè)備上進(jìn)行適配測試,確保應(yīng)用程序在不同屏幕尺寸下顯示和布局正常。

關(guān)系圖

erDiagram
    尺寸適配方案 ||--o 屏幕信息 : 獲取
    尺寸適配方案 ||--o 適配比例 : 計算
    適配比例 ||--o 適配參數(shù) : 設(shè)置
    適配參數(shù) ||--o 布局代碼 : 編寫
    布局代碼 ||--o 適配測試 : 進(jìn)行

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

通過以上步驟,我們可以成功地實現(xiàn)鴻蒙開發(fā)中的尺寸適配。

審核編輯 黃宇

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

    關(guān)注

    0

    文章

    188

    瀏覽量

    4346
收藏 人收藏

    評論

    相關(guān)推薦

    免費學(xué)習(xí)鴻蒙(HarmonyOS)開發(fā),一些地址分享

    國內(nèi)一流高校。通過鴻蒙班的設(shè)立,高??梢詾閷W(xué)生提供專業(yè)的鴻蒙OS學(xué)習(xí)環(huán)境和豐富的實踐機會,培養(yǎng)出更多的鴻蒙
    發(fā)表于 01-12 20:48

    初識鴻蒙OS

    1.0版本的設(shè)計和開發(fā);2018年,華為公司完成了鴻蒙內(nèi)核2.0版本的設(shè)計和研發(fā);2019年,華為的智慧屏率先搭載鴻蒙操作系統(tǒng);2020年9月11日,華為正式發(fā)布鴻蒙操作系統(tǒng),并舉行
    發(fā)表于 09-10 15:28

    鴻蒙OS應(yīng)用程序開發(fā)

    這份學(xué)習(xí)文檔主要是帶領(lǐng)大家在鴻蒙OS學(xué)習(xí)開發(fā)一個應(yīng)用程序,主要知識點如下:1、U-Boot引導(dǎo)文件燒寫方式;2、內(nèi)核鏡像燒寫方式;3、鏡像
    發(fā)表于 09-11 14:39

    鴻蒙OS與Fuchsia OS的異同

    `最近行業(yè)內(nèi)最熱門的,可能就是這個華為鴻蒙OS的第一次正式亮相了。作為知乎上Fuchsia OS的答主,自然也收到了大量的關(guān)于比較兩個操作系統(tǒng),或是評價鴻蒙
    發(fā)表于 09-23 11:42

    鴻蒙OS學(xué)習(xí)資料,持續(xù)更新中

    鴻蒙OS學(xué)習(xí)資料,持續(xù)更新中鏈接地址 https://blog.csdn.net/qq_31765191/article/details/108948033
    發(fā)表于 10-10 10:35

    鴻蒙os系統(tǒng)是什么意思 鴻蒙os系統(tǒng)有什么作用

    適配智慧屏,未來它將適配手機,平板,電腦,智能汽車,可穿戴設(shè)備等多終端設(shè)備。鴻蒙微內(nèi)核是基于微內(nèi)核的全場景分布式OS,可按需擴展,實現(xiàn)更廣泛
    發(fā)表于 12-17 11:34

    鴻蒙FA開發(fā)中html如何實現(xiàn)多端適配?

      在鴻蒙FA開發(fā)中 html 如何實現(xiàn)多端適配 尤其是 平板 橫屏 豎屏和折疊屏適配,有沒有相關(guān)的文檔解釋。
    發(fā)表于 06-07 10:20

    Orange Pi OS(OH)發(fā)布,開源鴻蒙PC端來了!

    適配的技術(shù)難度較高,鴻蒙尚未實現(xiàn)全面適配。但迅龍軟件一直在積極推進(jìn)開源鴻蒙操作系統(tǒng)在PC領(lǐng)域的發(fā)展。
    發(fā)表于 10-26 11:32

    鴻蒙 OS 應(yīng)用開發(fā)初體驗

    的操作系統(tǒng)平臺和開發(fā)框架。HarmonyOS 的目標(biāo)是實現(xiàn)跨設(shè)備的無縫協(xié)同和高性能。 DevEco Studio 對標(biāo) Android Studio,開發(fā)鴻蒙
    發(fā)表于 11-02 19:38

    華為鴻蒙系統(tǒng)能免費升級嗎 鴻蒙OS適配哪些機型

    華為首批可升級鴻蒙OS系統(tǒng)的機型也正式被確認(rèn),大部分機型預(yù)計在4月份內(nèi)完成鴻蒙OS系統(tǒng)升級,小部分也會在5月份、6月份陸續(xù)適配。
    的頭像 發(fā)表于 04-16 11:02 ?9410次閱讀
    華為<b class='flag-5'>鴻蒙</b>系統(tǒng)能免費升級嗎 <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>適配</b>哪些機型

    華為鴻蒙OS適配正式提上日程

    日前,華為消費者業(yè)務(wù)軟件部總裁王成錄確認(rèn),將于12月16日在北京發(fā)布鴻蒙OS 2.0手機開發(fā)者Beta版本。
    的頭像 發(fā)表于 12-15 15:01 ?1318次閱讀

    華為鴻蒙OS 2.0帶來哪些智慧體驗?

    華為已經(jīng)定于12月16日在北京發(fā)布鴻蒙OS 2.0手機開發(fā)者Beta版本。這不僅是手機鴻蒙OS的首次亮相,同時也意味著手機
    的頭像 發(fā)表于 12-15 15:10 ?2007次閱讀

    華為發(fā)布鴻蒙OS Beta版

    昨天華為發(fā)布鴻蒙OS Beta版了?鴻蒙系統(tǒng)一直在按照既有步伐前進(jìn),現(xiàn)在華為發(fā)布鴻蒙OS Beta版,而且一些生態(tài)
    的頭像 發(fā)表于 12-17 08:41 ?2815次閱讀

    鴻蒙OS與Lite OS的區(qū)別是什么

    鴻蒙OS鴻蒙OS面向未來、面向全場景、分布式。在單設(shè)備系統(tǒng)能力基礎(chǔ)上,鴻蒙OS提出了基于同一套系
    的頭像 發(fā)表于 12-24 12:40 ?4743次閱讀

    MobTech袤博科技ShareSDK全面適配鴻蒙OS原生開發(fā)

    科技自今年6月便積極開展了對鴻蒙系統(tǒng)的研究與內(nèi)測工作。日前,ShareSDK已全面適配鴻蒙OS原生開發(fā),并完成上線首發(fā)。在打造萬物互聯(lián)操作系
    發(fā)表于 08-18 18:08 ?191次閱讀
    MobTech袤博科技ShareSDK全面<b class='flag-5'>適配</b><b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b>原生<b class='flag-5'>開發(fā)</b>