Android屏幕适配方法总结

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

  • small
  • normal
  • large
  • xlarge

其中对应手机的尺寸以下布局

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

四种密度分类:code

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

通常状况下的普通屏幕:orm

  • 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-hdpiget

dimens适配 这种适配是我如今用的最多的一种适配,只须要在不一样的dimens下设置不一样的长度单位,layout中全部的margin padding 及width height等都引用dimens下的值便可 分别建议本身想适配的类型values文件夹 这里写图片描述it

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

  • 在手机的dimens文件中
<dimen name="main_camera_setting_tab_margin_15px">5dp</dimen>
  • 在pad的dimens文件中
<dimen name="main_camera_setting_tab_margin_15px">10dp</dimen>
相关文章
相关标签/搜索