Android适配全攻略(学习笔记总结)
Posted 若兰明月
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android适配全攻略(学习笔记总结)相关的知识,希望对你有一定的参考价值。
一、为什么要进行屏幕适配
某厂商统计如下数据
- 2012年,支持android的设备共有3997种
- 2013年,支持Android的设备共有11868种
- 2014年,支持Android的设备共有18796种
- 2015年,支持Android的设备的共有24093种
- http://www.sfw.cn/xinwen/471726.html(2015年统计,里面包含android设备,厂家,碎片化)
二、屏幕适配对象
我们到底应该对哪些屏幕进行适配
- 首先来看下最新的Android设备分辨率(2016年)
进行适配的还是以上的主流的几个分辨率
三、重要概念
(1)、什么是屏幕尺寸、屏幕分辨率、屏幕像素密度
屏幕尺寸
- 屏幕尺寸指屏幕的对角线的长度
- 单位是英寸,1英寸=2.54厘米
屏幕分辨率
- 屏幕分辨率是指横纵向撒花姑娘的像素点数
- 单位是px ,1px=1个像素点
- 一般以纵像素*横向像素,如1920*1080
屏幕像素密度
- 屏幕像素密度是指每英寸上的像素点数
- 单位是dpi,即“dot per inch”的缩写
- 屏幕像素密度与屏幕尺寸和屏幕分辨率有关
- 如Nexus 5
- 屏幕4.95
- 1920*1080
- 445dpi 1920^2+1080^2 进行开方 然后除以对角线长度4.95 等于445
(2)、什么是dp,dip,dpi,sp、px ?之间的关系是什么?
px
- 构成图像的最小单位
dp 、dip
- Density Independent Pixels的缩写,即密度无关像素
- 以160dpi为基准,1dpi = 1px
sp
- 即Scale-Independent Pixels
- 可以根据文字大小首选项进行缩放
- 绝大部分用于文字的大小推荐12sp、14sp、18sp、22sp
(3)、什么是mdpi、hdpi、xdpi、xxdpi、xxxdpi?如何计算和区分?
在新创建项目的时候,会自动创建不同的drawable或者mipmap文件夹(在不同像素密度上提供不同的图片)
或者不同的value下面(在不同像素密度提供不同的值)dimens.xml(这个放在不同的values下面)
名称 | 像素密度范围 |
---|---|
mdpi | 120dpi-160dpi |
hdpi | 160dpi-240dpi |
xhdpi | 240dpi-320dpi |
xxhdpi | 320dpi-480dpi |
xxxhdpi | 480dpi-640dpi |
四、解决方案
支持各种屏幕尺寸
- 使用wrap_content、match_parent、weight