RM新时代网站-首页

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

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

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

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

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-10 16:05 ? 次閱讀

概述

鴻蒙開(kāi)發(fā)中,尺寸適配是一個(gè)重要的概念,它可以幫助我們?cè)诓煌聊怀叽绲脑O(shè)備上正確顯示和布局我們的應(yīng)用程序。本文將介紹如何在鴻蒙開(kāi)發(fā)中實(shí)現(xiàn)尺寸適配的方法。

流程圖

image.png

詳細(xì)步驟

1. 定義適配方案

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

2. 獲取屏幕信息

在代碼中,我們需要獲取當(dāng)前設(shè)備的屏幕信息,包括屏幕寬度、高度、像素密度等??梢允褂靡韵麓a獲取屏幕信息:

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

3. 計(jì)算適配比例

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

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

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

在應(yīng)用程序的入口處,我們需要設(shè)置適配參數(shù),使得應(yīng)用程序在不同屏幕尺寸下能夠正確適配。可以使用以下代碼設(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. 編寫(xiě)布局代碼

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

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

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

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

關(guān)系圖

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

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

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

審核編輯 黃宇

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

    關(guān)注

    0

    文章

    188

    瀏覽量

    4382
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    初識(shí)鴻蒙OS

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

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

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

    鴻蒙OS與Fuchsia OS的異同

    `最近行業(yè)內(nèi)最熱門的,可能就是這個(gè)華為鴻蒙OS的第一次正式亮相了。作為知乎上Fuchsia OS的答主,自然也收到了大量的關(guān)于比較兩個(gè)操作系統(tǒng),或是評(píng)價(jià)鴻蒙
    發(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)有什么作用

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

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

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

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

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

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

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

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

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

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

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

    華為鴻蒙OS 2.0帶來(lái)哪些智慧體驗(yàn)?

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

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

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

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

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

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

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