如果使用vp来做适配的话,750px的设计稿 100*100px的UI组件应该如何计算成对应的vp来还原设计稿,是直接使用暴力的除以2的操作么
现在我们的项目采用的像素单位是lpx,当初为了适配750px大小的设计图,百分百还原设计,我们用的是lpx像素单位,designWidth 设置为了750,这样我们再写UI的时候 1px 就等于 1lpx,这样还原了设计图。但是这种方式有种问题,当我们将应用运行到平板或者折叠屏展开状态下,就造成了显示界面过大,下面附上了在各个设备上的效果图片。怀疑是designWidth 是将设备的整个屏幕都当成了750,造成显示过大的原因,现在API就是动态改变designWidth这个值的,或者是Api有没有将整个窗口缩小的办法
lpx为视窗逻辑像素单位,lpx单位为实际屏幕宽度与逻辑宽度(通过designWidth配置)的比值,designWidth默认值为720。当designWidth为720时,在实际宽度为1440物理像素的屏幕上,1lpx为2px大小。
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-pixel-units-V5
designWidth为标识页面设计基准宽度。以此为基准,根据实际设备宽度来缩放元素大小。并不支持动态修改。
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/module-configuration-file-V5\#pages标签
可以尝试使用resize来改变窗口大小,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-V5\#resize9