应用场景:网易云音乐安卓客户端的启动欢迎(广告)页 的全屏显示。
API Level 14
SYSTEM_UI_FLAG_HIDE_NAVIGATION 标识会移除没有物理按钮的设备屏幕上的Home和Back控件。
但是如果一直保持这种状态而主界面没有任何交互的话就完蛋了~~(比如可以做个空白页面显示“给钱解锁”)
所以屏幕上的任何点击都会再次显示底部虚拟按键。
点击后:
更多标识:
1. View.SYSTEM_UI_FLAG_VISIBLE: 显示状态栏,Activity不全屏显示(恢复到有状态的正常情况)。
{
2. View.INVISIBLE:隐藏状态栏,同时Activity会伸展全屏显示。
3. View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏显示,且状态栏被隐藏覆盖掉。(同2)
}
{
4. View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分 会被状态遮住。
5. View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同 4
6. View.SYSTEM_UI_LAYOUT_FLAGS: 效果同 4
}
{
7. View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏虚拟按键(导航栏)。有些手机会用虚拟按键来代替物理按键。
8. View.SYSTEM_UI_FLAG_LOW_PROFILE:状态栏显示处于低能显示状态(low profile模式),状态栏上一些图标显示会被隐藏。、
}
效果2/3:
效果 4,5,6:
效果8:
状态栏和底部虚拟键变成了小圆点~
设置的时候可以用id来获取根布局。
或者使用
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
decorView是window中的最顶层view,一样的效果。