概述
記錄一下之前用過的適配方案,主要是記錄一下smallestWidth限定符適配的文件生成
想看詳細適配原理請看下面的文章
現(xiàn)在市面上主流的適配就兩種頭條適配和smallestWidth適配,今天先記錄smallestWidth適配,這種的適配方式現(xiàn)在用的人還是很多,而且也在自己的項目中使用過了很多次了。
適配原理
屏幕分辨率限定符適配和smallesWidth限定符適配原理上是一樣的,都是系統(tǒng)根據(jù)限定符去尋找對應的dimens.xml,比如程序運行在最小寬度為 960dp的設備上,那么系統(tǒng)就會根據(jù)限定符去尋找對應的values-sw960文件夾下的dimens.xml。
區(qū)別:
- 屏幕分辨率限定符是根據(jù)px的值來做的等比縮放
- 最小寬度限定符是根據(jù) dp的值來做的等比縮放
值得注意的是 “最小寬度” 不分方向,無論是寬度還是高度,哪一方小哪個就是“最小寬度”

最小寬度限定符適配
smallesWidth的優(yōu)點
- 非常穩(wěn)定,出現(xiàn)意外的概率極低
- 不會有任何性能的消耗
- 適配范圍可自由控制,不會影響其他三方庫
- 使用插件高效生成文件,學習成本低
ScreenMatch的使用
在AndroidStudio中安裝插件ScreenMatch

image.png
安裝完成后,在左邊目錄中右擊,選擇“ScreenMatch”

image.png
選擇我們需要在哪個Moudle下生成文件,我這里選擇的是主app的moudle

image.png
選擇完成后會在project中生成兩個文件,第一個文件是設置一些ScreenMatch的一些屬性,比如基礎的dip、適配哪些屏幕、忽略哪個屏幕等等

image.png
第二個是為我們準備好的dimens.xml,我們將
screenMatch_example_dimens.xml復制到app的res/values文件夾下并改名為dimens.xml
image.png
最后我們再去右擊目錄然后選擇ScreenMatch,這時候就會生成我們需要適配的dimens.xml文件了

image.png
注:這里生成的文件夾和
screenMatch.properties文件中match_dp和ignore_dp這兩個屬性有關。我這只設置了適配match_dp=320,360,720,960,1024,1280,1365 和 忽略了ignore_dp=240,384,392,400,410,411,480,533,592,600,640,662,768,800,811,820,961