1、在xml布局檔案中,控件的寬度和高度用 dp ; 字型大小用 sp
2、根據螢幕的寬高來動态的适配 , 擷取螢幕的寬高的兩種方法:
第一種方法:
這種方法會報警告,The method getWidth() from the type Display is deprecated
意思是這種方法已經過時,是以建議用第二種方法:
第二種方法:
注意:1、在 Java 代碼中擷取的寬度和高度,以 px (像素) 為機關。 與xml 檔案中的 dp 不一樣 。
2、經過測試,用兩種方法分别擷取手機螢幕的寬度和高度,得到的結果是一樣的 。
我的手機是小米1 ,480 x 854 px
3、通常情況下,一個 layout 布局檔案裡面的控件的大小,有兩種設定控件寬高的 方法 。
一種是在 xml 中設定 , 如果一個控件在 xml 中有定義,控件的寬度和高度用 dp ; 字型大小用 sp 。
另外一種 就是在java 代碼中動态設定 。
4、因為在 xml 布局中 機關是 dp , 在 java 代碼中 的機關是 px 。
為了兩者的大小保持一緻,是以需要将兩者進行換算 。
DensityUtil 類
5、由于android 的螢幕大小有很多中,分辨率也是多種多樣的 。
為了準确的擷取螢幕的高度和寬度,需要在AndroidManifest.xml 中加入 supports-screens 節點 。