像素转换,图片的大小尺寸定义为多大尺寸比较合理?应该放在什么标准的dpi中才能得到更好的适配效
像素转换
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 对于要求固定vp尺寸的图标,如何适配不同机型屏幕的图片资源尺寸?
300浏览 • 1回复 待解决
HarmonyOS 图片适配,多尺寸屏幕怎么适配图片及图片背景
114浏览 • 1回复 待解决
图片压缩尺寸和大小问题
271浏览 • 1回复 待解决
如何适配不同屏幕尺寸?
198浏览 • 1回复 待解决
如何获取网络图片的尺寸?
295浏览 • 1回复 待解决
HarmonyOS svg图片尺寸
82浏览 • 1回复 待解决
HarmonyOS 应用图标大小只有144*144,这种设计同学不知道规范,还需要多大尺寸的icon?
239浏览 • 1回复 待解决
如何设置组件的尺寸范围?
278浏览 • 1回复 待解决
#鸿蒙学习大百科#如何实时获取组件的尺寸大小?
159浏览 • 1回复 待解决
HarmonyOS camera.pick使用系统相册后的图片/视频无法获取封面图,视频时长,视频大小尺寸。
275浏览 • 1回复 待解决
HarmonyOS web组件的bridge应该放在什么位置更合适?
50浏览 • 1回复 待解决
以libstd为例,C++的标准库放在哪里了,有没有打到hap包中
1900浏览 • 1回复 待解决
HarmonyOS从相册中选取一张图片,如何查看尺寸和大小信息
601浏览 • 1回复 待解决
如何设置组件的外边距尺寸?
277浏览 • 1回复 待解决
服务卡片的默认尺寸只能设置为2*2?我设置为1*2就报错了
7508浏览 • 5回复 待解决
如何设置组件的内边距尺寸?
303浏览 • 1回复 待解决
HarmonyOS如何换算字体或图片尺寸问题
282浏览 • 1回复 待解决
#鸿蒙学习大百科#如何通过List组件的lanes属性适配不同尺寸的设备?
138浏览 • 1回复 待解决
Image组件设置alt预览图和ImageFit.Fill后,网络图片加载出来后尺寸还是预览图的尺寸?
171浏览 • 1回复 待解决
HarmonyOS 自定义弹框预览的时候怎么预览成pad的尺寸呢?
87浏览 • 1回复 待解决
ConstraintSize尺寸设置问题
379浏览 • 1回复 待解决
#鸿蒙学习大百科#GridRow如何适配sm,md,lg三种尺寸的设备?
176浏览 • 1回复 待解决
#鸿蒙学习大百科#如何手动拖拽preview中设备的尺寸?
166浏览 • 1回复 待解决
如何实现文本字体大小自动变化以适用组件尺寸?
312浏览 • 1回复 待解决
HarmonyOS 组件是否存在类似maxHeight之类的尺寸设置?
137浏览 • 1回复 待解决
对于很大一部分程序员用户来说,会比较纠结这些问题:图片的大小尺寸定义为多大尺寸比较合理?应该放在什么标准的dpi中才能得到更好的适配效
HarmonyOS中,程序员可不必将时间和精力过多花费在此。在放置图片的media目录下也没有按照dpi来进行区分。
为了解决由于屏幕规格不同而引起的页面适配问题,HarmonyOS 提供了针对不同屏幕尺寸进行界面自适应适配的7种原子布局能力,使设计师可以使
能力来定义元素在不同尺寸的界面上的自适应规则。详见官方文档:https://developer.harmonyos.com/cn/docs/design/des-guides/layout-0000001111
HarmonyOS 重新定义了界面换算单位,使用虚拟像素作为一台设备针对应用而言所具有的虚拟尺寸,是定义应用内参数尺寸的度量单位。虚拟像素也
灵活使用和缩放的单位,它与屏幕像素的关系是 1vp 约等于 160dpi 屏幕密度设备上的 1px。在不同密度的设备之间,HarmonyOS 会针对性的转换设
实际像素值。
一、px
px:像素的单位,1px代表手机屏幕上的一个像素点。比如常见的手机分辨率有320×480,480×800,1080×1920等,这些数值的单位都是px;由于px在
上的大小不同,差别较大,适配性太差,不建议使用。
由于手机分辨率不同,应用中用到的图片某个固定尺寸大小的图片,或某个固定字号的文本就会因手机分辨力不同而出现失真或变形的情况,为了更好
同的手机,故而就有了不依赖与像素的单位sp与dp。
二、vp
vp:虚拟像素(virtual pixel)是一台设备针对应用而言所具有的虚拟尺寸(区别于屏幕硬件本身的像素单位)。
它提供了一种灵活的方式来适应不同屏幕
使用的核心API
三、fp
fp,font-size pixels,字体像素单位,其大小规范默认情况下与vp相同,但如果开发者在设置中修改了字体显示大小,就会在vp的基础上乘以 scale
认情况下 1 fp = 1vp,如果设置了字体显示大小,则会根据实际情况自动设置 1fp = 1vp * scale。
四、AttrHelper工具类
为了方便开发者对尺寸长度的管理,官方提供了AttrHelper工具类,可实现fp、vp、px之间的相互转换,简直不要太方便。以下是部分方法:
另外,除fp、vp、px的相互转换API以外,该工具类还提供了关于density、字体名称与其值等的转换方法,非常非常的贴心。详见官方文档:
https://developer.harmonyos.com/cn/docs/documentation/doc-references/attrhelper-0000001054518726
核心代码解释
代码分析
实现效果
注明适配的版本信息
· IDE:DevEco Studio 4.0.1.501
· SDK:HarmoneyOS 4.0.10.11