一種利用百分比佈局適配所有android手機螢幕解析度的方法
阿新 • • 發佈:2019-02-06
場景
1、團隊裡面,UI設計師往往只提供以一個標準解析度來設計的UI設計稿,用於Android、iOS、H5三端。
2、Android手機解析度眾多,如何讓UI在不同解析度的手機上面能有相同的效果?
解決方案
在網上看到有一種解決方案是按照螢幕解析度根據基準解析度來等比縮放,經過實際專案中使用後,效果不錯,因此來跟大家分享一下這個方案,以及使用過程中需要注意的問題。
1、
這是UI設計師以iPhone6的解析度為基準給出的設計稿:
2、
我們在程式碼裡面將寬、高值設定:
注意:為什麼是1294畫素而不是1334畫素?因為UI設計稿是將iPhone狀態列的高度也算進去了,
我們可以看下iPhone各個解析度對應的狀態列的高度值:
3、
在eclise裡面或者用cmd命令,去執行java程式碼,這樣可以生成一堆不同解析度的資料夾,
4、
將這些生產的資料夾拷貝到android studio工程下面的res目錄下,系統即可自動識別找到對應解析度的資料夾。
5、
如果想新增新的解析度,只需要新增新的解析度值即可,然後重新生成一次,再講新生成的資料夾拷貝到專案中。
6、
使用的時候,一律使用@dimen/+x方向或y方向的數值,比如android:layout_width="@dimen/x128",android:layout_height="@dimen/y128",
這個128值,就是UI設計師在設計稿上標註的值!