解决使用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右边
效果图: