APP設(shè)計常識解讀:android界面適配的機制

這是一篇關(guān)于app設(shè)計師去了解下如何做android多分辨率多密度下界面適配方案的原理解讀。如果你已經(jīng)知道了,可以不用再來閱讀了。本文25學(xué)堂只是為了給一些app設(shè)計小白掃盲。讓各位清楚的知道的android的UI界面到底是如何去解決適配問題的。

當(dāng)然,網(wǎng)上很多關(guān)于android界面適配的文章也有很多,大同小異。包括25學(xué)堂之前介紹過的Android APP設(shè)計教程與終極UI適配秘籍【圖文版】Andriod界面設(shè)計的分辨率和尺寸適配全攻略

Android安卓手機APP設(shè)計

 

android界面適配的機制到底是咋樣的呢?

很通俗的點說就是:Android系統(tǒng)本身就提供了UI界面在多平臺的適配的完善的解決方案和機制。并不是我們移動APP設(shè)計師去解決適配的問題?;蛘呤莂ndroid程序員自己冥思苦想出來的最佳解決適配方案。

因為進行android開發(fā)的時候,系統(tǒng)默認(rèn)有這幾個文件夾,

0_1329445562hOBH

無論是android設(shè)計師或者android程序員把對應(yīng)的ui設(shè)計資源放入對應(yīng)的文檔即可完成android UI 適配的最粗暴的解決方案!

 

Android適配機制原理如下:

Android適配機制就是在資源后面添加對這兩種因素的限定,通過不同的限定區(qū)分不同的平臺資源,Android在使用資源的時候會優(yōu)先選擇滿足本平臺限定的資源,再找最接近條件的,再找默認(rèn)(即不加限定),通過選擇適合當(dāng)前平臺的資源來完成不同平臺的適配。

屏幕尺寸分為:small,normal,large,xlarge分別表示小,中,大,超大屏

屏幕密度分為:ldpi,mdpi,hdpi,xhdpi,它們的標(biāo)準(zhǔn)值分別是:120dpi,160dpi,240dpi,320dpi

通俗點講就是:系統(tǒng)根據(jù)當(dāng)前的屏幕大小和密度,然后動態(tài)的采用程序中提供特定的資源。

 

Android Holo設(shè)計風(fēng)格

 

如今最新的android適配資源需要五種:

界面布局方面

需要根據(jù)物理尺寸的大小準(zhǔn)備5套布局

  1. layout: 放一些通用布局xml文件,比如界面中頂部和底部的布局,不會隨著屏幕大小變化,類似windos窗口的title bar
  2. layout-small: 屏幕尺寸小于3英寸左右的布局
  3. layout-normal: 屏幕尺寸小于4.5英寸左右
  4. layout-large: 4英寸-7英寸之間
  5. layout-xlarge: 7-10英寸之間

圖片資源方面

需要根據(jù)dpi值準(zhǔn)備5套圖片資源:

  1. drawable
  2. drawalbe-ldpi
  3. drawable-mdpi
  4. drawable-hdpi
  5. drawable-xhdpi

Android有個自動匹配機制去選擇對應(yīng)的布局和圖片資源。

其實做法很簡單,只需要在res目錄下創(chuàng)建不同的layout文件夾,比如layout-640x360,layout-800x480,所有的layout文件在編譯之后都會寫入R.java里,而系統(tǒng)會根據(jù)屏幕的大小自己選擇合適的layout進行使用。

 

android?UI適配主要受到屏幕分辨率和屏幕尺寸的影響,也是取決這2個因素。

具體的android設(shè)計規(guī)范點擊查看

?Android設(shè)計規(guī)范以及android UI kits完整PSD下載

第二個大家需要注意的和疑問的:

當(dāng)我們使用切圖工具Cutterman來進行安卓界面切圖的時候,會自動生成10個文件夾。如圖所示:

安卓切圖25學(xué)堂

主要是因為最新版的安卓開發(fā)軟件studio里面有了mipmap 目錄和drawable 目錄。兩者都是一樣的。

唯一的區(qū)別:用mipmap系統(tǒng)會在縮放上提供一定的性能優(yōu)化。

比如:Nexus 6 有 493 ppi,它剛好在 xxhdpi和xxxhdpi之間,所以顯示的時候需要對xxxhdpi的資源進行縮小,如果你用了mipmap-xxxhdpi,那么這里會對sclae有一個優(yōu)化,性能更好,占用內(nèi)存更少。所以現(xiàn)在官方推薦使用mipmap:

 

最后再說下為什么在布局文件中使用 dp作為單位而不是使用px

dp是一個與屏幕ppi無關(guān)的參數(shù),同時也是一個事實上并不存在的虛擬單位。顯示時會根據(jù)具體屏幕的ppi進行像素的映射,關(guān)系如下160ppi ? 1dp ? 1px120ppi ? 1dp ? 0.75px240ppi

1dp ? 1.5px320ppi ?1dp ?2px因此在布局文件中一般使用dp作為單位,這樣就能適應(yīng)不同ppi的屏幕,在各種ppi的屏幕上有一樣大的物理上的距離。

(可以看出1dp并不總是等于1px的,對于ppi高的屏幕肯能要等于2px,只是為了物理上看起來的距離是相等的)

每天更新,
全站高品質(zhì)素材免費下載!