一.navigation bar 在android4.0以后才出现的.在手机屏幕下面的虚拟键盘。可以隐藏掉,隐藏有几种方法:
1.在activityOnCreate方法中设置。这种方式设置后在触摸手机屏幕的时候navigation就会恢复显示
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
2.如果加上View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY(应该是4.4.3才有的属性),那么从顶端滑动就显示状态栏和navigation了。但是很难看,估计一般没有人这么用。
3.android4.4以后出现沉浸式状态栏,现在市面上的手机大部分都是4.4.4以上的版本了。使用沉浸式状态栏可以使navigation透明显示,我们的View在navigation下面,这样的效果看起来就美观了。
@Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus && Build.VERSION.SDK_INT >= 19) { View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); } }设置透明状态栏和导航栏
<!--状态栏透明--> <item name="android:windowTranslucentStatus">true</item> <!--导航栏透明--> <item name="android:windowTranslucentNavigation">true</item>