屏幕适配详解
屏幕适配的必要性
- 由于Android系统的开放性,任何用户、开发商、OEM厂商、运营商都可以对Android进行定制,修改成他们想要的样子,导致碎片化严重。
屏幕尺寸
- 屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米常见尺寸:2.4,2.8,3.5,3.7,4.2,5.0,5.5,6.0等
屏幕分辨率
- 屏幕分辨率是指在横纵向上的像素点数,单位是px,1px=1个像素点,一般以纵向像素*横向像素,如:1960 *1080
屏幕像素密度
- 屏幕像素密度是指每英寸上的像素点数,单位是dpi,即“dot per inch”的缩写。屏幕像素密度和屏幕尺寸和屏幕
图像描述.png
像素单位
- px:pixel的缩写,像素,1px代表屏幕上一个物理的像素点像素单位
- dip、dp:都是Density Independent Pixels的缩写,即密度无关像素
- sp:cale-independent pixels,与dp类似,用于设置字体大小
- 注意: 在像素密度为160dpi的时候,1dp = 1px. 320dpi --> 1dp = 2px
- 1dp = (像素密度/160dpi)*1px
dp的范围划分
dp的范围划分
布局适配的方法
1.禁用绝对布局
2.少用px
3.使用wrap_content、match_parent、layout_weight
4.重建布局文件
wrap_content: 先按照内容的多少去设定控件的大小,然后按照权重的比例来分配剩余控件。
match_parent: 控件大小 = 父容器大小+ 权重比例剩余空间大小 。
红色 = 1match_parent + 1/(1+2)(1match_parent - 2match_parent)= 2/3 - match_parent。不会受内容的变化而变化。0dp: 按照你设定的比例去分配空间。
图片适配的方法
- 1.提供不同分辨率的备用位图
- 2.使用自动拉伸图