Android中的dp

Android中的dp,第1张

在Android开发中,我们在描述View的宽、高时通常使用dp,但是设计在UI中进行标注时,却使用的是px。所以很多时候就导致UI和实际效果不一致。史记开发中,给设计和开发人员带来了很多困扰。

在回答上面的问题之前,我们需要了解Android上一些基本概念:

可以看到,如果不用dp进行转换,同样一个布局,在不同的手机上差异巨大,甚至有可能导致布局错乱,这样对普通用户的使用体验极差。而使用dp就基本不会出现这 种情况,因为Android系统已经帮我们进行了适配。

DPI概念自行百度

Android手机按照不同DPI分为:ldpi、mdpi、 hdpi、 xhdpi、 xxhdpi等。

在不同的DPI上,px和dp有不同的比例关系,关系如下

由上表可知:

目前主流的分辨率一般为720x1280和1080x1920,所以一般设计师在设计Android应用时会选择720x1280的画布进行设计,如果只切一套图,工程师会把图放到xhdpi的资源文件夹中,此时,在xhdpi和xxhdpi的屏幕上都可以正常适配,但是在hdpi的屏幕上就会出现问题。

从上面的表格可以知道在xhdpi和xxhdpi时,屏幕的dp宽都是360dp;而在480x800的hdpi时,屏幕的dp宽度是320dp,少了40个dp,如果屏幕的dp宽度保持360dp的话,需要的像素宽度应该是540px,但市面上大部分的hdpi的手机都是480px的像素宽度。

为了适配480x800的手机屏幕,需要设计师在切图的时候也要切出一套hdpi的图,并且是480*800分辨率下的hdpi的图。

另外在写布局文件设置宽度的时候,也要需要考虑这个差值,hdpi下的dp宽度应该是xhdpi或xxhdpi下的dp宽度的0.8~0.9倍


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/11040245.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存