屏幕像素--包含虛擬鍵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);