Android 屏幕适配
定义:使得某一元素在Android 不同尺寸、不同分辨率的手机上具备相同的显示效果
屏幕尺寸:手机对角线的物理尺寸
单位:英寸(inch) ,1英寸=2.54cm
Android 手机常见的尺寸 5寸,5.5寸,6寸
屏幕分辨率:手机在横向、纵向上的像素点总和
eg: 1080*1920 在宽度方向上有1080个像素点,在高度方向上有1920个像素点。
常见的分辨率:320*480、480*800、720*1280、1080*1920
屏幕像素密度:每英寸的像素点数 dpi(dots per ich)
假设设备内每英寸有160个像素,则像素密度为160dpi
密度无关像素 density-independent pixel,叫dp或dip ,可以保证在不同屏幕像素密度的设备上显示相同的效果。
在Android 中规定以160dpi(即屏幕分辨率为320*480)为基准 1dp=1px
单独比例像素 scale-independent pixel, sp 或sip 单位 sp
Android 开发时用此单位设置文字大小,可根据字体大小首选项进行缩放 ,推荐使用12、14、18、22作为字体大小,不推荐使用奇数和小数。
布局匹配:一般使用 Linearlayout、RelativeLayout、FrameLayout、绝对布局 AbsoluteLayout 适配性极差,极少使用
根据屏幕的配置来加载相应的UI布局
使用限定符:通过配置限定符是的程序在运行时根据当前的配置自动加载和事的布局资源
限定符的类型: 尺寸限定符、最小宽度限定符、布局别名限定符、屏幕方向限定符。
尺寸限定符:
应用场景:当一款应用显示的内容较多,在平板电脑和电视屏幕上(七寸以上的平板灯),实施双面板可以显示更多内容,在手机上使用单面板
在res 文件下创建 layout-large文件:可以将布局文件分别放入,这种方式只适合在Android 3.2版本之前
最小宽度(Smallest-width)限定符
通过指定某个最小宽度(以dp为单位)来确定屏幕从而加载不同的UI资源
eg: 创建一个 layout-sw600dp文件夹 最小宽度限定符,无论昆都还是高度,只要大于600dp,就采用layout-sw600dp 目录下的布局
使用布局别名
为了解决同时使用3.2之前和之后的版本,引入了布局别名
res/layout/main.xml ; res/layout/main_twopanes.xml
屏幕方向(orientation)限定符
根据屏幕方向进行布局的调整