解决使用slidingmenu控件导致底部虚拟键覆盖问题

问题描述:项目中使用到了slidingmenu控件,而slidingmenu在版本比较高的手机上,显示有隐藏问题,没有计算虚拟按键所占用的空间.如下图:

解决使用slidingmenu控件导致底部虚拟键覆盖问题

解决:

找到slidingmenu.Java这个类,修改protected booleanfitSystemWindows(Rect  insets)方法内容,将里面的

int bottomPadding = insets.bottom;
修改为

int bottomPadding = insets.bottom;
if (Build.VERSION.SDK_INT >= 21) {
   Resources resources = getContent().getResources();
   int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
   if (resourceId > 0) {
      bottomPadding += resources.getDimensionPixelSize(resourceId);
   }
}

但是在小米的手机上底部导航会距底部有margin,在网上有搜了搜看到另一种方式,在设置的时候将这句放上

localSlidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT, true);//使SlidingMenu附加在Activity右边

效果图:

解决使用slidingmenu控件导致底部虚拟键覆盖问题