Android 不同分辨率适配
目录
前言
适配可以分为:
- 布局适配:
Android布局有 线性布局,相对布局,绝对布局,帧布局。由于绝对布局适配性差,所以极少使用。
其他三种布局根据需求进行选择,但是就实用性和灵活性而言,使用相对布局将会是更好的解决方案 - 尺寸适配:
尺寸布局就是根据不同的尺寸,单独为该尺寸写一个布局,进行适配
重要概念
- 屏幕尺寸
含义:手机对角线的物理尺寸
单位:英寸(inch),1英寸=2.54cm
Android 手机常见的尺寸有5寸,5.5寸,6寸等 - 屏幕分辨率
含义:手机在横向、纵向上的像素总和
例如 1080x1920 ,即宽度方向 1080个像素,在高度方向有 1920个像素
单位:px(pixel)1px = 1像素点
UI设计师设计图会以px作为统一的计量单位
Android手机常见的分辨率:320x480、480x800、720x1280、1080x1920 - 屏幕像素密度
含义:每英寸的像素点数
单位:dpi(dots per ich)
横屏和竖屏适配
layout-land 横屏布局
layout-port 竖屏布局
不同分辨率适配(1920x1080)
layout-1920x1080
或者
layout-land-1920x1080
layout-port-1920x1080
注:如果适配的布局文件中,没有当前机型,当前机型会选择相差最小的分辨率的配置文件进行适配
不同分辨率适配(sw600dp,w600dp,h600dp)
layout-sw600dp
sw 代表 smallwidth的意思,当你的屏幕的绝对宽度大于600dp时,屏幕就会自动调用 layout-sw600dp文件夹中的布局。
注意:这里的绝对宽度是指手机的实际宽度,即与手机是否横屏没关系,也就是手机较小的边的长度
layout-w600dp
当你的屏幕的相对宽度大于600dp时,屏幕就会自动调用layout-w600dp文件夹中的布局。
注意:这里的相对宽度是指手机相对于放置的宽度;即当手机竖屏时,为较小边的长度;当手机横屏时,为较大边的长度。
layout-600dp
与layout-w600dp 的使用一样,只是这里指的是相对的高度
当你的屏幕的相对高度大于600dp时,屏幕就会自动调用layout-w600dp文件夹里面的布局。
注意:这里的相对高度是指手机相对放置的高度;即当手机竖屏时,为较长边的长度;当手机横屏时,为较短边的长度。但是这种方式很少用到,因为屏幕在相对高度上,即在纵向上通常能够滚动导致长度变化,而不像横向那样基本固定,因而 这个方法灵活性差google官方文档建议尽量不使用这种方式。