我們經常會遇見這樣的場景,做一款簡單的App,在自己的手機上設計了layout的xml檔案,UI做的還挺好看,挺合适的。但是換了一個手機就會發現變的巨醜,可能隻是集中在局部(原來的分辨率低,新的機器分辨率高),或者是手機螢幕放不下了(原來的分辨率高,心的機器分辨率低)。
解決辦法就是:
我們可以在
res檔案路徑
下建立适配不同分辨率的手機的layout檔案,與layout同級
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX9sGVPxGeXVGMO5mYxYkbiFjRzwEMW1mY1RzRapnTtxkb5ckYplTeMZTTINGMShUYvwFd4VGdvwlMvw1ayFWbyVGdhd3P5czNwITM3EzMycDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
命名為layout-分辨率,請注意大數在前,是以一般就是高x寬,
舉例layout-2244x1080
(HUAWEI P20分辨率)。
在建立的檔案下存放的資源和layout下是一緻的,不過需要自己做适配,結合不同的顯示比例來調整裡面的資源檔案。手機會根據自己的分辨率來選擇不同的layout資源檔案,不需要自己在寫代碼選擇,比較智能。
注1:在一個xml資源檔案做了修改之後,記得剛更新到所有的layout檔案中
,否則換個測試機就會出現空指針異常,很無腦的bug,别問我為什麼,因為我犯過。
注2:對不不同分辨率的适配,還有其他的解決辦法,可能會覺着這樣加了很多的檔案,會增大安裝包,但是就我的測試來看,這樣的最美觀的,因為我們針對不同的分辨率做了不同的适配,可以做很多微調(隻關注常用機型,很冷門的可以放棄,機器找不到合适自己的就會委屈一下去選擇相似分辨率的或者是直接用layout,不會報錯,隻會醜 -_-! )