国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android判斷NavigationBar是否顯示的方法(獲取屏幕真實的高度)

2019-12-12 04:06:09
字體:
來源:轉載
供稿:網友

有些時候,我們需要知道當前手機上是否顯示了NavigationBar,也就是屏幕底部的虛擬按鍵。

比如截屏的時候,要獲取屏幕的高度,必須包括NavigationBar的高度。

試過網上的多種方法,但是對那種可以通過手勢來顯示/隱藏的NavigationBar沒辦法,最后終于找到了一個好辦法,看代碼:

public boolean isNavigationBarShow(){  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {    Display display = getWindowManager().getDefaultDisplay();    Point size = new Point();    Point realSize = new Point();    display.getSize(size);    display.getRealSize(realSize);    return realSize.y!=size.y;  }else {    boolean menu = ViewConfiguration.get(this).hasPermanentMenuKey();    boolean back = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);    if(menu || back) {      return false;    }else {      return true;    }  }}public static int getNavigationBarHeight(Activity activity) {  if (!isNavigationBarShow(activity)){    return 0;  }  Resources resources = activity.getResources();  int resourceId = resources.getIdentifier("navigation_bar_height",      "dimen", "android");  //獲取NavigationBar的高度  int height = resources.getDimensionPixelSize(resourceId);  return height;}public static int getSceenHeight(Activity activity) {  return activity.getWindowManager().getDefaultDisplay().getHeight()+getNavigationBarHeight(activity);}

具體代碼可以參考Bigbang項目的ViewUtil中的處理。

以上所述是小編給大家介紹的Android判斷NavigationBar是否顯示的方法(獲取屏幕真實的高度),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳原县| 淳化县| 忻州市| 五峰| 从江县| 苍梧县| 抚松县| 眉山市| 子长县| 比如县| 武功县| 潮安县| 佛山市| 将乐县| 湛江市| 文成县| 雅江县| 华蓥市| 山阴县| 邛崃市| 临夏县| 缙云县| 六盘水市| 临颍县| 教育| 安乡县| 深圳市| 新平| 吴江市| 七台河市| 新昌县| 平顶山市| 渑池县| 页游| 陇西县| 微山县| 刚察县| 昌吉市| 怀柔区| 龙陵县| 钟祥市|