Android 分辨率和dp px等之类的介绍

因为要做屏幕适配和内存优化,随便看了这方面的,自己总结下备用

分辨率 px

如:720*1080表示 => 720px *1080px=> 720像素点 * 1080像素点
通俗的讲,就是宽度有720个像素点,竖向右1080个像素点。

屏幕尺寸 in

如:我们一般说屏幕多少寸多少寸,说的就是这个,这里说的是对角线的长度,这里有个公式
1寸 就是 1英寸, 1英寸 = 2.54厘米,也就是说5寸的屏幕对角线长为5*2.54=12.7厘米

像素密度也叫屏幕密度 DPI

也就是1英寸的长度里所拥有的像素点,同样的尺寸里像素密度越大说明屏幕越清晰。

dp

是安卓创造了一个新的单位,中文名设备独立像素。并且规定在160ppi的屏幕上,1dp=1px。反正读者就记住这个是一个独立的单位,相当于对px的升级


在Android中规定了一英寸中拥有 160个像素点的时候 也就是像素密度为160,在这种情况下 1dp = 1px, 如果像素密度为320dpi 则 1dp = 2px

所以是不是dp和px之间的转换公式就来了呢

px = (dpi/160)*dp

求dp反过来就行了

//大家记住下面的density是一个缩放比,值为一个dp内有多少个px
    public int dp2px(Context context,float dpValue){
        float density = context.getResources().getDisplayMetrics().density;
        return (int) (density*dpValue+0.5f);
    }
    public int px2dp(Context context, int pxValue){
        float density = context.getResources().getDisplayMetrics().density;
        return (int) (pxValue/density+0.5);
    }

SP和DP可以理解为相同,只不过SP是作用于字体的,计算过程是一样的

Android中的分辨率

在这里插入图片描述
在存放图片的时候,Android用不用的文件夹命名来给我们表示了,我们现在来了解下

六种通用的密度:
ldpi(低)~120dpi
mdpi(中)~160dpi
hdpi(高)~240dpi
xhdpi(超高)~320dpi
xxhdpi(超超高)~480dpi
xxxhdpi(超超超高)~640dpi

在这里插入图片描述
在这里插入图片描述
上面这几张图我都是截图的,看到这里我们应该明白,我们的素材图片是不能乱放的,要根据不用的分辨率放到不同的文件夹中

posted @   飞航之梦  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
点击右上角即可分享
微信分享提示