slidingmenu 在android 5.0以上手机里面navigationbar虚拟导航自动弹出布局不会自动变换的问题

来源:互联网 发布:慈溪行知职高罗老师 编辑:程序博客网 时间:2024/06/08 16:01




  今天遇到一个蛋疼的问题,由于我的首页使用了slidingmenu,但是在5.0以上很多机型的虚拟导航navigationbar是可以弹出和收起的,于是当弹出以后无论怎么设置我的ui最下方都会被虚拟导航给挡住一截,于是考虑到slidingmenu才是最终attach到activity上的view,所以我用slidingmenu.setFitsSystemWindows(true),结果还是没有任何反应,最终,还是在万能的github上找到了答案,虽然不知道为何会这样,但是在slidingmenu 初始化的时候加上这个代码,它就自动修复了这个问题,当navigationbar弹出的时候,ui就会自动重新布局到navigationbar之上不被挡住:



                if(Build.VERSION.SDK_INT >= 21){    setSystemUiVisibility(SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);}


原答案链接:https://github.com/jfeinstein10/SlidingMenu/issues/680,里面还有很多种方法,重写fitsSystemWindows()方法加上navigationbar的高度会导致无论怎么样高度都不会变化,这样会导致导航栏是可以消失的,那么高度不会自动变化,不可行。所以最终使用了这种方法。

0 0