天天看點

Android簡單高效的螢幕适配方案--SmallestWidth适配

smallestWidth也叫做sw限定符,是在Android3.2引入的一種用來适配平闆的方案。使用這種方案可以簡單高效穩定的實作螢幕路适配。

原理: Android會識别手機寬高中最小的那個值(其實就是寬度),然後根據識别到的數值去資源檔案中尋找對應的檔案

Android簡單高效的螢幕适配方案--SmallestWidth适配

比如:我的華為手機螢幕寬度是300dp,對應的就是sw300dp的檔案夾。再來看看sw300檔案夾下的dimens.xml檔案

Android簡單高效的螢幕适配方案--SmallestWidth适配

上圖是以設計圖寬度375dp為标準生成的。把寬度分為375份 300/375=0.8.是以1份相當于0.8dp。這樣就可以依照設計圖的尺寸填寫控件大小了,也就實作了寬度為300dp手機的适配。

如果沒有找到這個手機的尺寸,它會尋找最接近的尺寸。比如我這沒有生成sw300檔案夾。寬度為300dp的手機就會自動找到sw310的檔案夾,有很好的容錯機制。

遇到需要适配的手機型号,隻需要生成對應的資源檔案就可以了。

缺點就是檔案夾的增加會導緻apk增加,應該有幾百kb的樣子。

sw檔案壓縮包下載下傳(上面截圖展示的那幾種尺寸):sw适配檔案下載下傳

有需要的也可以下載下傳别人提供的sw生成項目代碼自己生成想要的檔案:sw檔案生成項目代碼

繼續閱讀