概述
使用沉浸式实现全屏模式
强调内容Android 4.4系统(API等级19)引入了一个新 SYSTEM_UI_FLAG_IMMERSIVE为标志 setSystemUiVisibility() ,可以让您的应用程序去真正的“全屏幕”。这个标志,当与结合 SYSTEM_UI_FLAG_HIDE_NAVIGATION和 SYSTEM_UI_FLAG_FULLSCREEN标志,隐藏导航栏和状态栏,让您的应用程序捕获屏幕上的所有触摸事件。
- 使用非粘性浸入
// This snippet hides the system bars.
private void hideSystemUI() {
// Set the IMMERSIVE flag.
// Set the content to appear under the system bars so that the content
// doesn't resize when the system bars hide and show.
mDecorView.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 // hide nav bar
| View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
| View.SYSTEM_UI_FLAG_IMMERSIVE);
}
// This snippet shows the system bars. It does this by removing all the flags
// except for the ones that make the content appear under the system bars.
private void showSystemUI() {
mDecorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
}
- 使用粘性浸入
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);}
粘性浸入:使用粘性浸入系统栏自动片刻后能再次隐藏,注意:标记的”粘性”浸入不触发任何听众,如在此模式下暂时显示system bar处于过渡状态。一般像阅读器等场景等建议使用粘性浸入。
非粘性浸入: 当启用浸入全屏模式,你的activity将继续接收所有触摸事件。用户可以沿所在的system bar正常显示区域向内轻扫显示system bar。这将清除SYSTEM_UI_FLAG_HIDE_NAVIGATION标志和SYSTEM_UI_FLAG_FULLSCREEN标志,如果申请过。使system bar变得可见。这也触发您的 View.OnSystemUiVisibilityChangeListener,如果有设置。
最后
以上就是合适月饼为你收集整理的使用沉浸式实现全屏模式的全部内容,希望文章能够帮你解决使用沉浸式实现全屏模式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复