打開Android開發工具Android Studio,選擇菜單 Open an existing AndroidStudio project,打開ch04項目的android文件夾,如圖5.8所示。android
圖5.8 Android原生項目結構工具
從Android的項目結構,想必讀者能夠隱約感覺到:Android適配是基於文件夾的,不一樣分辨率和尺寸的屏幕會自動適配相應的文件夾下的佈局或資源文件。可是,想要進一步理解Android的適配,有必要先了解Android適配的一些基本概念:佈局
另外,編寫代碼時經常使用的尺寸單位有:開發工具
在建立項目的時候,會自動建立不一樣的mipmap或layout文件夾(在不一樣像素密度上提供不一樣的圖片),文件夾的後綴代表了該佈局或資源的像素密度(dp)範圍,對應關係以下參見5.1。spa
後綴 像素密度(dp)的範圍
mdpi 120dp ~ 160dp
hdpi 160dp ~ 240dp
xhdpi 240dp ~ 320dp
xxhdpi 320dp ~ 480dp
xxxhdpi 480dp ~ 640dp圖片
對於上述Android項目中的mipmap文件夾,Android的適配機制是這樣的:系統會先到後綴與設備匹配的mipmap目錄下找對應的圖片,當找不到的時候會去「更高」一級的目錄去找,再找不到,繼續往高一級的找,若是仍是找不到就退而求其次去低一級的找,依次類推。ip
例如:在密度爲xxhdpi的手機上運行Android App,首先會在drawable-xxhdpi目錄下尋找圖片資源,找不到再去drawable-xxxhdpi找,若是沒有比drawable-xxxhdpi更高的,則再找不到就去drawable-xhdpi找,接着drawable-hdpi,直到找到對應的圖片資源,當找到後,系統會按密度對圖片作縮放處理,而後再顯示到屏幕上,因此若是圖片放的目錄不正確的話,有可能形成圖片因縮放而變得模糊。資源
一樣,用於存放佈局文件的layout目錄也是經過後綴名來適配的,只不過layout文件夾一般添加設備分辨率做爲後綴,如:layout-1280x720、layout-1920x1080以及layout-land-1280x720等。開發
不難看出,以上適配方法和上述iOS開發中的Size Class是相似的:用於分類適配.it
和我一塊兒學吧,《React Native移動開發實戰》