Android屏幕适配方法总结

在安卓平台上,适配是必不可少的,如今不仅要适配手机,还要适配多种分辨率的平板,下面讲几点我遇到的情况 1,屏幕适配的方法 四种屏幕尺寸分类::

  • small
  • normal
  • large
  • xlarge

其中对应手机的尺寸如下

  • layout-small(屏幕尺寸小于3英寸左右的布局)
  • layout-normal(屏幕尺寸小于4.5英寸左右)
  • layout-large(4英寸-7英寸之间)
  • layout-xlarge(7-10英寸之间)

四种密度分类:

  • ldpi (low)
  • mdpi (medium)
  • hdpi (high)
  • xhdpi (extra high)

一般情况下的普通屏幕:

  • ldpi是120
  • mdpi是160
  • hdpi是240
  • xhdpi是320
  • xxhdpi是480。 需要根据dpi值准备5套图片资源,
  • drawable
  • drawalbe-ldpi
  • drawable-mdpi
  • drawable-hdpi
  • drawable-xhdpi <font color=#0099ff>(这个不是必须,很多公司只用一套或者两套)</font> 一般按照如下来获取屏幕的像素和密度:
DisplayMetrics metric = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metric); 
int width = metric.widthPixels; // 屏幕宽度(像素) 
int height = metric.heightPixels; // 屏幕高度(像素) 
float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5) 
int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)

另外屏幕密度可以自己计算:如5.5英寸,1920*1080的屏,先计算斜边:1920²+1080²开根号=2202再除以5.5,屏幕密度为400,大于320则被归一化到480xxhdpi的队列

分辨率适配 layout-1920*1080, 也可按照最小宽度和高度来分: layout-sw600dp(一般用来适配7inch平板) layout-sw720dp(10 inch左右平板)

如果要适配同样大小,不同分辨率的平板,怎么办呢?如19201080 和1280720都是8英寸的平板 有的人说可以通过分辨率来区分,可是如果仅仅是分辨率, layout-1920*1080即有可能是手机,也有可能是平板

其实此时,只要将上面的条件组合起来, 组合适配 如layout-xlarge-mdpi和layout-xlarge-hdpi

dimens适配 这种适配是我现在用的最多的一种适配,只需要在不同的dimens下设置不同的长度单位,layout中所有的margin padding 及width height等都引用dimens下的值即可 分别建议自己想适配的类型values文件夹 这里写图片描述

每个文件夹下都新建一下dimens

  • 在手机的dimens文件中
<dimen name="main_camera_setting_tab_margin_15px">5dp</dimen>
  • 在pad的dimens文件中
<dimen name="main_camera_setting_tab_margin_15px">10dp</dimen>

转载于:https://my.oschina.net/u/2341823/blog/728766

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值