Android屏幕适配
什么是屏幕适配
定义:屏幕适配就是解决在不同屏幕尺寸中使其尺寸单位,图片,文字,依然出现预期的效果,使得某一元素在Android不同尺寸、不同分辨率的手机上具备相同的显示效果
1.对于屏幕适配你所需要了解的知识
(1)屏幕尺寸
- 含义:手机对角线的物理尺寸
- 单位:英寸(inch),1英寸=2.54cm
屏幕分辨率
- 含义:手机在横向、纵向上的像素点数总和 比如我们常见的 1920*1080
- Android手机常见的分辨率:320x480、480x800、720x1280、1080x1920
屏幕像素密度
- 含义:每英寸的像素点数,比如每英寸有480像素点,那么 屏幕像数密度 = 480dpi
- 单位:dpi(dots per ich)
屏幕像素密度=屏幕尺寸−−−−−−√屏幕分辨率 屏 幕 像 素 密 度 = 屏 幕 尺 寸 屏 幕 分 辨 率
屏幕像素单位
- 含义:density-independent pixel,叫dp或dip,与终端上的实际物理像素点无关。
- 单位:dp,可以保证在不同屏幕像素密度的设备上显示相同的效果
- dp 与 px的转换 因为ui设计师给你的设计图是以px为单位的,Android开发则是使用dp作为单位的,那么我们需要进行转换
2.尺寸适配怎么作
本质:
- 1.使得“布局”、“布局组件”、“图片资源”、“用户界面流程”匹配不同的屏幕尺寸
- 2.使得布局、布局组件自适应屏幕尺寸;
- 3.根据屏幕的配置来加载相应的UI布局、用户界面流程
- 4.使得“图片资源”匹配不同的屏幕密度
那么如何尺寸适配呢
(1)布局适配
常用的布局
- 线性布局(Linearlayout)
- 相对布局(RelativeLayout)
- 帧布局(FrameLayout)
- 绝对布局(AbsoluteLayout)
我们提倡:相对布局(RelativeLayout),禁用绝对布局(AbsoluteLayout)
那为什么不用线性布局(Linearlayout)呢?
答:通过多层嵌套LinearLayout和组合使用”wrap_content”和”match_parent”已经可以构建出足够复杂的布局。但是LinearLayout无法准确地控制子视图之间的位置关系,只能简单的一个挨着一个地排列
(2)布局适配