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>
相關文章
相關標籤/搜索