android开发像素密度、屏幕适配简单理解

  • 像素(px):对应一个rgba值。每个分量(比如r分量)占8b,所以rgba占32b,即一个字节byte。

  • 分辨率:即屏幕一共有多少个像素。当然是(宽x高)个呀。比如分辨率一般有1920x1080等。

  • 屏幕尺寸(in):手机对角线的长度,单位in(英寸)。常见有4.7英寸,5.5英寸。

  • 像素密度(dpi):一个英寸长度里有多少个像素。比如手机像素密度:

    1. 根据宽高(分辨率)以及勾股定律算出 对角线上有多少个像素点
    2. 手机像素密度 = 对角线上有多少个像素点 / 对角线的长度
    
    android手机标准屏幕像素密度(mdpi)是160,即一个英寸160个像素。
    
  • 密度无关像素(dp):和手机像素无关,是android特有的长度单位。

    换算公式:px值 = dp值 x (手机dpi / 标准dpi即160) = dp值 x displayMetrics.density
    
  • 独立比例像素(sp):和手机像素无关,是android特有的字体单位

    换算公式:px值 = sp值 x displayMetrics.scaledDensity
    
    android里density和scaledDensity大致一样,不过scaledDensity根据用户设置的字体可能会所有调整。
    
  • 屏幕适配方案

    • 限定符适配方案

    smallestWidth,比如values-sw320dp

    • 今日头条适配方案:不使用标准mdpi作为参考,使用手机寸尺和设计稿的寸尺计算出新的参考

    https://github.com/JessYanCoding/AndroidAutoSize

posted @ 2021-01-21 17:47  yongfengnice  阅读(475)  评论(0编辑  收藏  举报