【整理】Android屏幕适配相关

重要概念

  1. 屏幕尺寸
    屏幕尺寸指屏幕的对角线的长度,单位是英寸(inch),1英寸=2.54厘米
    • 例如我们经常说的手机屏幕大小有,5(英)寸、4(英)寸就是指这个单位。这些尺寸是屏幕的对角线长度。如果手机的屏幕是4英寸,表示手机的屏幕(可视区域)对角线长度是4 X 2.54 = 10.16厘米。
  2. 屏幕分辨率
    屏幕分辨率是指在横纵向上的像素点数,单位是px,1px=1个像素点。一般以 纵向像素*横向像素,如1960*1080。
  3. 屏幕像素密度
    屏幕像素密度是指每英寸上的像素点数,单位是dpi,即“dot per inch”的缩写。屏幕像素密度与屏幕尺寸和屏幕分辨率有关,在单一变化条件下,屏幕尺寸越小、分辨率越高,像素密度越大,反之越小。
  4. px、dpi、density、dp、dip、sp
    px : 大多数情况下,比如UI设计、Android原生API都会以px作为统一的计量单位,像是获取屏幕宽高等。
    –>px = dp * (dpi / 160) = dp*density
    dpi : 屏幕像素密度,
    –>dpi = 这里写图片描述/屏幕对角线英寸数
    –>dpi = device-common.mk文件中定义的”ro.sf.lcd_density”属性值,若该属性不存在,则默认160。
    density :屏幕密度,
    –>density = dpi/160
    dip/dp : Density Independent Pixels的缩写,即密度无关像素。
    –>dp = px/(dpi/160) = px/density
    sp : scale-independent pixels,可以根据文字大小首选项进行放缩,是设置字体大小的御用单位。

划分标准

名称像素密度范围(dpi)屏幕密度图片icon尺寸(px)
drawable-ldpi120-160density=0.7536*36
drawable-mdpi160-240density=1(baseline)48*48
drawable-hdpi240-320density=1.572*72
drawable-xhdpi320-480density=296*96
drawable-xxhdpi480-640density=3144*144
drawable-xxxhdpi640-800density=4192*192

小规律:比值(各种屏幕密度的比值)
ldpi:mdpi:hdpi:xhdpi:xxhdpi:xxxdpi = 0.75:1:1.5:2:3:4 = 3:4:6:8:12:16,
这个比值乘以12就得到对应屏幕密度手机桌面icon图标大小

解决方案

支持各种屏幕尺寸

  1. 使用wrap_content、match_parent、weight
  2. 使用相对布局,禁用绝对布局
  3. 使用限定符
    • 尺寸限定符
      res/layout/main.xml,单面板(默认)布局
      res/layout-large/main.xml,双面板布局,在较大屏幕下会选则此布局,例如 7 英寸或更大的平板电脑
      res/layout-sw600dp/main.xml,双面板布局,对于最小宽度大于等于 600 dp 的设备,系统会选择 layout-sw600dp/main.xml(双面板)布局,否则系统就会选择 layout/main.xml(单面板)布局。
    • 使用布局别名
    • 使用屏幕方向限定符
  4. 使用自动拉伸位图
    • .9.png 位图的使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值