您的位置:首页 > 移动开发 > Android开发

Android屏幕适配之零碎知识

2017-01-17 14:35 330 查看
先弄清以下问题:

1:dpi是什么?

2:像素密度与mipmap各个文件夹的对应关系?

3:dp是什么鬼,与px的对应关系?

1:dpi是什么?

dpi是像素密度的单位,在Android设备上dpi可以理解为每英寸(物理尺寸,比如常见设备4.5,4.7,5.0,5.5吋等)上面的像素(px)点个数,怎么计算呢?

1.1:原理:

就是某条线上的像素点数/线的长度,在这里由于经常使用手机屏幕的对角线标识物理尺寸,就用对角线上的像素个数/对角线的物理长度:

1.2:操作:

1.2.1利用勾股定理计算出对角线上的像素个数;

1.2.2利用斜线上的像素个数/对角线长度=像素密度(以dpi为单位)。

2:像素密度与mipmap各个文件夹的对应关系?

2.1像素密度与mipmap各个文件夹的对应关系:



2.2上面的对应关系什么意思呢?

就是你在1.2.2里面计算出的像素密度在哪个范围,app运行时就会去找哪个文件夹下的资源图片,如果找不到对应的就会自动向更高的像素密度范围对应的那个文件夹在引用,如果还不存在,就继续向上,直到结束,只能向下查找了。

2.3UI如何作图呢?

看对应图片比例,意思就是在mdpi的屏幕上需要显示出来的大小为20*20,单位当然是像素,那么在xxhdi就要一张60*60的同名文件了。

3:dp是什么鬼,与px的对应关系:

dp是一个与像素无关的单位,在布局文件中使用dp为单位,程序在运行到不同的手机上面时会根据手机的像素密度(不是以自己的手机密度,详情请见:http://blog.csdn.net/findsafety/article/details/9129831)而进行计算转换成像素为单位的数据,计算出的尺寸比例也是符合下面这个比例的,比如1dp在mdpi的设备上计算出的是1px,而在xxh上面就是3px,这就起到了自适应的效果。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息