首页 > 系统 > Android > 正文

Android适配小结

2019-11-08 00:13:55
字体:
来源:转载
供稿:网友

=。=待业青年,闲着也是闲着,写写博客咯。第一篇关于Android屏幕的适配,参考了一些文章自己归纳整理的了一哈,写的不好,请轻喷

碎片化屏幕的适配

参考博客

1.屏幕的概念

1.尺寸 1英寸 = 2.54厘米 常见的有2.4、2.8、3.5、3.7、4.2、5.0、5.5、6.02.分辨率 屏幕分辨率是指在横纵向上的像素点数,单位是px,1px=1个像素点。一般以纵向像素*横向像素,如1960*1080。3.像素的密度 屏幕像素密度是指每英寸上的像素点数,单位是dpi。 屏幕像素密度与屏幕尺寸和屏幕分辨率有关,在单一变化条件下,屏幕尺寸越小、分辨率越高,像素密度越大,反之越小。

2.Android中dp、sp和px之间的换算

参考博客 简书文献

DPI和PPI

DPI:dots per inch 是指在1 inch的物理长度包含多少个dot。

PPI:pixels per inch 是指1 inch的物理长度包含多少个pixel。

在Android中DPI等价PPI,具体区别可以参考PPI vs. DPI: what’s the difference?

如何计算PPI: PPI = √(长度像素数² + 宽度像素数²) / 屏幕对角线英寸数

以小米3为例,小米3的参数为1920*1080,屏幕为5英寸。则 √(1920² + 1080²) / 5 ~ 441PPI。

Android中inch和PPI的划分

名称 像素范围(dpi)
ldpi 100 ~ 160
mdpi 160 ~ 240
xdpi 240 ~ 320
xxdpi 320 ~ 480
xxxdpi 480 ~ 640

下图为PPI屏幕划分

android ppi

px和dp之间如何换算

dp * (dpi / 160) = px 还是以小米3手机为例 1dp * 441ppi / 160 ~ 3px

dp = px / (dpi * 160)

在android中应如何选择图片

举例来说,小米Pad的屏幕密度为326dpi,如果需要显示的图片大小为20dp,那么就需要提供一个 20 (326 / 160) = 40px的图片才能达到最佳显示效果,如果还要适配一个163dpi的屏幕,那么还需要再提供一个20 (163 / 160) = 20px的图片。

哪么一个20dp的图片在不通设备上如何显示,这次以ipd为例 20dp如何显示

分别计算图片在设备中占多少inch

ipad2 = 20 * (132 / 160) * (9.7 / (math.sqrt(1024 * 1024 + 768 * 768))) ipad_retina = 20 * (264 / 160) * (9.7 / (math.sqrt(2048 * 2048 + 1536 * 1536)))

结果都是相同的,这就是dp的功能

如果只提供了一个大小为20px的图片,为了保证图片在所有设备上的物理大小都一样,高DPI的设备上系统会拉伸图片,低DPI的设备上图片会被缩小,这样既会影响UE也会影响APP的执行效率。在anroid中应如何选择图片呢 在anroid中应如何选择图片

sp和dp的区别

Android中字体的大小由sp表示,然而在Android系统允许用户修改文字的尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表