如何定义UI布局的vp单位达到不同机器的自适应

如何定义UI布局的vp单位达到不同机器的自适应

HarmonyOS
2024-07-24 10:31:49
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
放大电路

VP的具体计算公式为:VP = PX / (DPI / 160),其中PX代表屏幕的真实物理像素值。DensityPixels,即屏幕密度,是与标准DPI相比的比例值,常见的取值包括0.75、1.0、1.5、2.0和3.0等。在HarmonyOS系统中,标准DPI被设定为160。以华为Mate 40 Pro为例,其查询得到的DensityPixels值为3.5,而DensityDPI值为560。这里的DensityDPI通常被称为系统屏幕密度,而DensityPixels则代表屏幕密度与标准DPI(160)之间的比率。若需查询真实设备的DPI值,可调用屏幕属性中的display接口进行查询。

import { display } from '@kit.ArkUI';

let displayClass: display.Display | null = null;
try {
  displayClass = display.getDefaultDisplaySync();
} catch (exception) {
  console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
}


分享
微博
QQ
微信
回复
2024-07-24 19:44:38