天天看點

android 多螢幕适配 : 第一部分

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 節點 。

繼續閱讀