Android 屏幕适配:基础知识

1、定义

屏幕适配定义:在不同尺寸、分辨率的手机上具有相同的显示效果。

2、相关概念

1、屏幕尺寸

  1. 含义:手机对角线的物理尺寸
  2. 单位:英寸(inch),1 英寸 = 2.54 cm

2、屏幕分辨率

  1. 含义:手机横向、纵向的像素点总和。
  2. 单位:px(pixel),1 px = 1 像素点。
  3. 手机常见分辨率:320 * 480,1080 * 1920。

3、屏幕像素密度

  1. 含义:每英寸的像素点数。
  2. 单位:dpi(dots per ich)。
  3. 安卓每类手机屏幕大小对应一个屏幕像素密度:
密度类型分辨率(px)屏幕像素密度(dpi)
低密度(ldpi)240 * 320120
中密度(mdpi)320 * 480160
高密度(hdpi)480 * 800240
超高密度(xhdpi)720 * 1280320
超超高密度(xxhdpi)1080 * 1920480

4、屏幕尺寸、分辨率、像素密度的关系

  1. 密度(dpi)= 宽 2 + 高 2 2 屏 幕 大 小 {\sqrt[2]{宽^2+高^2}} \over {屏幕大小} 22+2
  2. 例子:手机的分辨率:1080*1920(px),屏幕大小:5寸,密度是多少?
    在这里插入图片描述
    密度(dpi)= 1008 0 2 + 192 0 2 2 5 {\sqrt[2]{10080^2+1920^2}} \over {5} 52100802+19202 = 2203 5 {2203} \over {5} 52203 = 440 dpi (每寸440个像素)。

5、密度无关像素

  1. 含义:density-independent pixel 与手机像素点无关。保证在不同屏幕像素密度的设备上显示相同的效果。
  2. 单位:dp 或 dip。
  3. dp 与 px 转换:Android 中规定以 160 dpi 为基准,1dp = 1px。px = dp*(dpi/160)。
密度类型分辨率(px)屏幕像素密度(dpi)换算(px/dp)比例
低密度(ldpi)240 * 3201201dp=0.75px3
中密度(mdpi)320 * 4801601dp=1px4
高密度(hdpi)480 * 8002401dp=1.5px6
超高密度(xhdpi)720 * 12803201dp=2px8
超超高密度(xxhdpi)1080 * 19204801dp=3px12

6、独立比例像素

  1. 含义:scale-independent pixel,可根据字体大小首选项进行缩放。
  2. 单位:sp 或 sip。
3、屏幕适配
  1. 布局适配:使用 ConstraintLayout、LinearLayout、FrameLayout、RelativeLayout。
  2. 组件适配:使用 wrap_layout、match_layout、weight、dp/sp 单位。
  3. 图片资源适配:使用多套分辨率图片、.9图片(自动拉伸图片)。
    例子1:xhdpi 手机加载图片顺序:xhdpi->xxhdpi->hdpi->mdpi->drawble->ldpi。
    例子2:使用一套 xhdpi 分辨率图片 (100px120px) 在不同分辨率手机上,图片压缩情况?长宽缩放比例:见密度无关像素
    xhdpi手机(100px
    120px)、xxhdpi手机(150px180px)、hdpi手机(75px90px)。
    方案:
    1、使用多套分辨率图片(apk 体积增大)、.9图片(自动拉伸图片)。
    2、使用一套 xhdpi 分辨率图片(apk 体积减小,图片自动拉伸)、.9图片(自动拉伸图片)。
  4. 其它适配方案:最小宽度(Smallest-width)限定符适配方案、字节跳动屏幕适配方案。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值