Android屏幕适配方案

先讲述一些屏幕适配相关概念,然后介绍下3种主要的适配方案以及优缺点。

一.基本概念

1. 像素(px)

  • 像素是手机屏幕的最小构成单元。

    2. 分辨率 (px)

  • 手机在横向、纵向上的像素点数总和,一般描述成 宽高 ,即横向像素点个数纵向像素点个数。
  • 例如:1080x1920,即宽度方向上有1080个像素点,在高度方向上有1920个像素点。

    3.屏幕尺寸(inch)

  • 手机对角线的物理尺寸,单位 英寸(inch),一英寸大约2.54cm,
  • 例如:常见的尺寸有4.7寸、5寸、5.5寸、6寸

    4.屏幕像素密度 (dpi)

  • 每英寸长度上像素点个数。”dot per inch”:
  • 例如每英寸内有160个像素点,则其像素密度为160dpi。
    以上四者之间关系
  • $ √((宽px)²+(高px)²) / (屏幕尺寸inch) = (屏幕像素密度dpi) $

    5. dp,dip,sp

  • dip和dp是一个意思,都是Density Independent Pixels的缩写,即密度无关像素。
  • 例如:在Android中,规定以160dpi为基准,1dip=1px,如果密度是320dpi,则1dip=2px,以此类推。
  • android中的dp在渲染前会将dp转为px,计算公式:
    $px = density * dp;$
    $density = dpi / 160;$
    $px = dp * (dpi / 160);$
  • 注意:dp与px不一定都是2倍的关系,与屏幕像素密度dpi有关。

    6. hdpi,mdpi,xhdpi,xxhdpi,xxxhdpi

  • 用来修饰Android中的drawable文件夹及values文件夹,用来区分不同像素密度下的图片和dimen值。
  • 在设计图标时,对于五种主流的像素密度(mdpi、hdpi、xhdpi、xxhdpi 和 xxxhdpi)应按照 2:3:4:6:8 的比例进行缩放。

阅读剩下更多