1.为什么适配
(1) 厂商多,设备多, 屏幕的尺寸, 分辨率多.
(2) 大多数的计算方式:
dpi等于(屏幕宽的平方+屏幕高的平方)整体开根号(单位是px),然后除以屏幕尺寸(单位是英寸).
density=dpi/160,
px=density*dp.(我们通常用的是dp去适配,但是绘制view的最终单位都是px,也就是因为dp和px之间的转换导致了适配的不完全)
因为dpi是由屏幕真实的分辨率和尺寸得来的.
注:一些手机并不是这种规范的计算方式,导致适配更加复杂.
2.基础知识
(1) 屏幕尺寸: 屏幕尺寸指屏幕的对角线的长度(物理长度),单位是英寸,1英寸=2.54厘米
(2) 屏幕分辨率(屏幕宽高): 屏幕分辨率是指在纵横向上的像素点数,单位是px,1px=1个像素点。一般以纵向像素*横向像素,如480*320。
(3) 屏幕像素密度(单位dpi): 计算方式->(屏幕宽的平方+屏幕高的平方)整体开根号(单位是px),然后除以屏幕尺寸,就是屏幕分辨率勾股求对角线然后除以尺寸
(4) density:屏幕的逻辑密度,是密度无关像素(dp)的缩放因子,160dpi是系统屏幕显示的基线,1dip = 1px
density=dpi/160,
160为标准屏幕像素密度
(5) px:像素,基本单位,绘制view的最终单位都是px
(6) dp/dip:密度无关像素
(7) sp,即scale-independent pixels,与dp类似,但是可以根据文字大小首选项进行放缩,是设置字体大小的御用单位。
3.方法
A. 基本操作
wrap_content,match_parent
LinearLayout,RelativeLayout
layout:size限定符(layout-large) 尺寸:small,normal,
large |