Android獲取屏幕大小

屏幕像素--包含虛擬鍵android

華爲P9,參數規格:spa

分辨率 FHD 1920×1080

獲取屏幕像素對象

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int screenWidth =dm.widthPixels;
int screenHeight =dm.heightPixels;

Debug獲得的數據ci

獲取到P9的像素:1812*1080get

很明顯heightPixels沒包含底部虛擬鍵的Pixelsit

獲取虛擬功能鍵像素高方式:io

/**獲取虛擬功能鍵高度 */
public int getVirtualBarHeigh() {
    int vh = 0;
    WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
    Display display = windowManager.getDefaultDisplay();
    DisplayMetrics dm = new DisplayMetrics();
    try {
        @SuppressWarnings("rawtypes")
        Class c = Class.forName("android.view.Display");
        @SuppressWarnings("unchecked")
        Method method = c.getMethod("getRealMetrics", DisplayMetrics.class);
        method.invoke(display, dm);
        vh = dm.heightPixels - windowManager.getDefaultDisplay().getHeight();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return vh;
}

至此獲取全屏像素結束table

補充一點,如何覆蓋虛擬功能鍵class

Activity設置全屏,方法有不少bug

android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"

而後在Activity中添加以下代買

//view_pager_imgs爲Activity中任一個控件對象
view_pager_imgs.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION|
        View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
相關文章
相關標籤/搜索