作者:Valar_Ray
如需转载请保留原文链接
1.先来看几个概念
- 分辨率,像 1920x1080
- 屏幕像素密度:屏幕每英寸所包含的像素数
- dpi:(Dots Per Inch,每英寸点数)一种度量单位
怎么根据分辨率和屏幕尺寸计算屏幕密度?
计算屏幕密度.png那440dpi在android中是什么样的概念呢?
谷歌官方文档中对于密度的分类.png属于xxhdpi这一分类 ,那么其运行时加载的图片也是xxhdpi文件夹下的。
2.接下来看px与dp还有dip的关系
- dp其实就是dip:设备独立像素(又称设备无关像素 Device Independent Pixels 、密度独立性 Density ndependent或设备独立像素,简称DIP或DP)。
dp也是谷歌推荐的android开发中使用单位。 - px:像素
一般UI拿过来的图就是px标注的,然后会告诉你做图时所用的尺寸是多大的,如1334x750,4.7寸的屏幕
image.png
我们该怎么把px转为dp写在android的布局文件中呢?
- 先计算UI所给图纸的密度,1334x1334+750x750=2342056
2342056 开根号大概为 1530
1530/4.7 = 325 dpi - 325/160 = 2.03 (160相当于一个标准dpi,是google给定的值,我们所计算的dpi都会与其进行比较)
如图上一个控件是高80px,那 80/2.03 大概40dp,我们一般就在布局文件设置40dp
吐槽一句,markdown语法中的想导入数学公式,真的费事
网友评论