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
上面这几张图我都是截图的,看到这里我们应该明白,我们的素材图片是不能乱放的,要根据不用的分辨率放到不同的文件夹中
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库