虚拟导航栏适配
在写界面的时候 然后发现在界面最底下的几行文字 正好被虚拟导航栏遮挡住了,不滑动还看不到底下的文字,所以想隐去这些导航栏。 采用下面的代码将DecorView中的属性设置为隐藏 navigation,我这里注销掉了全屏的属性 ,按需添加or删除属性吧 11 && Build.VERSION.SDK_INT < 19) { // lower api View v = this.getWindow().getDecorView(); if(v!=null){ v.setSystemUiVisibility(View.GONE); } } else if (Build.VERSION.SDK_INT >= 19) { //for new api versions. View decorView = getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY/* | View.SYSTEM_UI_FLAG_FULLSCREEN*/; if (decorView != null) { decorView.setSystemUiVisibility(uiOptions); } } }1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 " data-snippet-id="ext.c635ae4a92490f41cf801e12d12759e7" data-snippet-saved="false" data-codota-status="done">` <span class="hljs-keyword">protected</span> <span class="hljs-keyword">void</span> <span class="hljs-title">hideBottomMenu</span>() { <span class="hljs-comment">//隐藏虚拟按键</span> <span class="hljs-keyword">if</span> (Build.VERSION.SDK_INT > <span class="hljs-number">11</span> && Build.VERSION.SDK_INT < <span class="hljs-number">19</span>) { <span class="hljs-comment">// lower api</span> View v = <span class="hljs-keyword">this</span>.getWindow().getDecorView(); <span class="hljs-keyword">if</span>(v!=<span class="hljs-keyword">null</span>){ v.setSystemUiVisibility(View.GONE); } } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (Build.VERSION.SDK_INT >= <span class="hljs-number">19</span>) { <span class="hljs-comment">//for new api versions.</span> View decorView = getWindow().getDecorView(); <span class="hljs-keyword">int</span> uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY<span class="hljs-comment">/* | View.SYSTEM_UI_FLAG_FULLSCREEN*/</span>; <span class="hljs-keyword">if</span> (decorView != <span class="hljs-keyword">null</span>) { decorView.setSystemUiVisibility(uiOptions); } } }` ...