HarmonyOS鸿蒙Next中有关vp、fp、px的区别和使用

HarmonyOS鸿蒙Next中有关vp、fp、px的区别和使用 有关vp ,fp , px区别和使用

3 回复

HarmonyOS开发中,单位使用经常会用到vp,fp,px,以下着重讲一下各个单位的使用:

距离使用 vp (virtual pixel)

字体大小使用 fp (font pixel)

详细了解 vp ,fp , px

虚拟像素单位:vp (virtual pixel)

以屏幕相对像素为单位, 是一台设备针对应用而言所具有的虚拟尺寸(区别于屏幕硬件本身的像素单位)。它提供了一种灵活的方式来适应不同屏幕密度的显示效果,使用虚拟像素,使元素在不同密度的设备上具有一致的视觉体量。

字体像素单位:fp (font pixel)

字体像素(font pixel) 大小默认情况下与 vp 相同,即默认情况下 1 fp = 1vp。如果用户在设置中选择了更大的字体,字体的实际显示大小就会在 vp 的基础上乘以 scale 系数,即 1 fp = 1 vp * scale。

屏幕像素单位:px (pixel)

屏幕上的实际像素, 1px代表手机屏幕上的一个像素点, 如果这个不怎么好理解,看下常见的手机比如:1080×1920 这个数值的单位都是px,由于px在不同手机上的大小不同,差别较大,适配性太差,不建议使用,所以无论是android 还是HarmonyOS 无论写距离大小换是字体大小,都不建议使用px。

常见使用:

<Text ohos:id="$+id:tv_search" ohos:height=“match_parent” ohos:width=“match_content” ohos:left_margin=“20vp” ohos:right_margin=“10vp” ohos:text=“搜索” ohos:text_color="#ffffff" ohos:text_size=“16fp”/>

HarmonyOS与Android相对比:

fp 用于设置文字的大小,类似Android sp;

vp用来设置控件的大小,类似Android dp;

更多关于HarmonyOS鸿蒙Next中有关vp、fp、px的区别和使用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,vp(虚拟像素)、fp(字体像素)和px(物理像素)是用于处理屏幕适配和布局的三种单位。

  1. vp(虚拟像素):vp是鸿蒙系统中的一个抽象单位,用于实现不同屏幕尺寸的适配。1vp在逻辑上等于一个像素,但会根据设备的屏幕密度进行缩放。例如,在高密度屏幕上,1vp可能会对应多个物理像素,而在低密度屏幕上,1vp可能对应较少的物理像素。使用vp可以确保界面元素在不同设备上保持一致的视觉效果。

  2. fp(字体像素):fp是专门用于定义字体大小的单位。与vp类似,fp也会根据设备的屏幕密度进行缩放。1fp在逻辑上等于1vp,但它的主要用途是确保字体在不同设备上的可读性和一致性。使用fp可以避免在不同屏幕上字体大小不一致的问题。

  3. px(物理像素):px是设备屏幕上的实际物理像素。使用px定义的尺寸在不同设备上可能会出现不一致的显示效果,因为不同设备的屏幕密度不同。因此,在鸿蒙系统中,通常推荐使用vp和fp来进行布局和字体大小的定义,以确保更好的适配性。

总结来说,vp用于一般布局,fp用于字体大小,而px则直接对应物理像素。在鸿蒙Next中,使用vp和fp可以实现更好的屏幕适配和一致的用户体验。

在HarmonyOS鸿蒙Next中,vpfppx是用于尺寸单位的三种不同表示方式:

  1. px(像素):最基础的尺寸单位,表示屏幕上的物理像素点。直接使用px可能导致在不同分辨率设备上显示效果不一致。

  2. vp(虚拟像素):与设备屏幕密度无关的抽象单位,1vp ≈ 1px在160dpi屏幕上的物理尺寸。使用vp可以确保在不同屏幕密度的设备上显示效果一致。

  3. fp(字体像素):用于字体大小的单位,与vp类似,但会根据系统字体设置进行缩放,适合用于文本显示。

总结:px用于精确控制,vp用于布局适配,fp用于字体大小适配。

回到顶部