1. 程式人生 > >Android適配疑惑

Android適配疑惑

1、使用adb去獲取的時候

adb shell wm size

在這裡插入圖片描述

2、 但是這個解析度適配後,佈局還是亂掉的,於是我從程式碼裡去獲取

        DisplayMetrics dm = getResources().getDisplayMetrics();
        int screenWidth = dm.widthPixels;
        int screenHeight = dm.heightPixels;

使用這種方式得到的解析度是1024*552,這個適配後是正確的

3、 第一個為什麼不對我也不知道,換了種方式

   adb shell dumpsys window displays

看到init裡面這兩種解析度都有顯示,但是我不清楚這幾個引數的意義,找文件也沒找到。有大神看到的話,望解答

在這裡插入圖片描述

郭神
一張圖片從drawable-xhdpi到drawable-xxhdpi目錄,圖片會被縮小
px = dp * (dpi / 160) 其中dpi表示的是裝置螢幕密度,不同的裝置dpi可能不一致。
即1dp=1/(dpi/160) 一個dpi為160的裝置,1個dp等於1個px
例如在一個dpi為240的裝置螢幕中,1個dp等價於2個px,也就是一個dp長度下包含2個px,如果dp與px的倍數越大,螢幕看起來也就越清晰。

        DisplayMetrics dm = getResources().getDisplayMetrics();
        int screenWidth = dm.widthPixels;
        int screenHeight = dm.heightPixels;
        float xdpi = getResources().getDisplayMetrics().xdpi;
        float ydpi = getResources().getDisplayMetrics().ydpi;

參考Android 多螢幕適配 dp和px的關係