androidslidingmenu 在android 5.0以上手机里面navigationbar虚拟导航自动弹出布局不会自动变换的问题
来源:互联网 发布:时时彩网站源码下载 编辑:程序博客网 时间:2024/05/29 04:56
遇到过一个蛋疼的问题,由于我的首页使用了androidslidingmenu,但是在5.0以上很多机型的虚拟导航navigationbar是可以弹出和收起的,例如华为的,而且是弹出的时候可以顶着布局上去的,可是当弹出以后无论怎么设置我的ui最下方都会被虚拟导航给挡住一截,于是考虑到slidingmenu才是最终attach到activity上的view,所以我用slidingmenu.setFitsSystemWindows(true),结果还是没有任何反应,
在这个AndroidResideMenu上面的源码上面的fitSystemWindows方法上是这样写的:
// This is added to fix soft navigationBar's overlapping to content above LOLLIPOP
int bottomPadding = viewActivity.getPaddingBottom() + insets.bottom;
boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);
boolean hasHomeKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_HOME);
if (!hasBackKey || !hasHomeKey) { //there's a navigation bar
bottomPadding += getNavigationBarHeight();
}
this.setPadding(viewActivity.getPaddingLeft() + insets.left,
viewActivity.getPaddingTop() + insets.top,
viewActivity.getPaddingRight() + insets.right,
bottomPadding);
insets.left = insets.top = insets.right = insets.bottom = 0;
可是这里是判断如果有虚拟按键的时候它就给底部加上了bottomPadding虚拟按键的高度给它,然而并没有什么卵用,当收起虚拟按键的时候它原本是给加了一个高度,这样收下的时候底部就会出现有白色的底部,这明显是不对的。
最终,还是在万能的github上找到了答案,在slidingmenu 初始化的时候加上这个代码,它就自动修复了这个问题,当navigationbar弹出的时候,ui就会自动重新布局到navigationbar之上不被挡住:
我就在ResideMenu的构造方法上面加了这个
if(Build.VERSION.SDK_INT >= 21){
setSystemUiVisibility(SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
}
原答案链接:https://github.com/jfeinstein10/SlidingMenu/issues/680,里面还有很多种方法,重写fitsSystemWindows()方法加上navigationbar的高度会导致无论怎么样高度都不会变化,这样会导致导航栏是可以消失的,那么高度不会自动变化,不可行。所以最终使用了这种方法。
一试就可以了,现在无论是弹出虚拟按键还是收下,布局都会自动的收缩,显示正常,good
1 0
- androidslidingmenu 在android 5.0以上手机里面navigationbar虚拟导航自动弹出布局不会自动变换的问题
- slidingmenu 在android 5.0以上手机里面navigationbar虚拟导航自动弹出布局不会自动变换的问题
- slidingmenu 虚拟导航自动弹出布局不会自动变换的问题
- 【ANDROID布局问题总结】Activity启动后EditText是否自动弹出输入法虚拟键盘的问题
- Android Edittext 自动弹出虚拟键盘的问题
- Android 解决沉浸式状态栏下,输入法弹出,布局不会自动调整的BUG
- 使用帧动画在5.0以上不会自动播放
- Android中关于跳转Activity后焦点聚在EditView后自动弹出虚拟键盘问题
- Android 设置EditText不会自动弹出键盘
- android 屏蔽程序自动弹出虚拟键盘
- android 不自动弹出虚拟键盘
- android在下载app后自动安装,安装完成后不会弹出打开或完成界面
- android 软键盘弹出 自动调整布局
- Android 软键盘弹出自动移动布局
- 解决textarea在表格里面的自动换行问题
- 自动弹出键盘的问题
- 解决textarea不会自动换行的问题
- EditText是否自动弹出输入法虚拟键盘(软键盘)的问题
- iOS一段文字设置多种颜色格式
- 欢迎使用CSDN-markdown编辑器
- git学习小结
- bzoj 3811: 玛里苟斯 高斯消元&dfs
- 关于FM1208之类的CPU卡的总结说明
- androidslidingmenu 在android 5.0以上手机里面navigationbar虚拟导航自动弹出布局不会自动变换的问题
- Wrong Image Format for bootm command
- Java单例模式优化写法
- 何时乘以(1+B)和除以(1+B)
- Levenberg-Marquardt算法简介和C++实现
- Android官方MVP架构示例项目解析
- WebService 之 WSDL文件 讲解
- Android 5.1 权限问题解决方法(测试可用)
- oracle插入数据时提示视图或表不存在问题