Detect soft navigation bar availability in android device progmatically?

后端 未结 7 1489
礼貌的吻别
礼貌的吻别 2020-12-02 18:50

I am trying to determine soft navigation bar through the android program. I didn\'t find straight way to determine. Is there anyway to find the navigation bar availability.

7条回答
  •  没有蜡笔的小新
    2020-12-02 19:17

    Its a hack but it works fine. Try it.

    public static boolean hasSoftKeys(WindowManager windowManager){
      Display d = windowManager.getDefaultDisplay();
    
      DisplayMetrics realDisplayMetrics = new DisplayMetrics();
      d.getRealMetrics(realDisplayMetrics);  
    
      int realHeight = realDisplayMetrics.heightPixels;
      int realWidth = realDisplayMetrics.widthPixels;
    
      DisplayMetrics displayMetrics = new DisplayMetrics();
      d.getMetrics(displayMetrics);
    
      int displayHeight = displayMetrics.heightPixels;
      int displayWidth = displayMetrics.widthPixels;
    
      return (realWidth - displayWidth) > 0 || (realHeight - displayHeight) > 0;
    }
    

提交回复
热议问题