当视频处于全屏模式时,我想隐藏并显示像youtube
这样的软键(主页,后退,菜单)。
我正在使用下面的代码。
getWindow().getDecorView().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);
但它不像youtube
,它会扰乱整个隐藏和显示的视图。
我知道,我错过了什么。但我不知道我错过了什么......
答案 0 :(得分:0)
试试这个,
void enableImmersiveMode() {
((FrameLayout) mToolbar.getParent()).setFitsSystemWindows(false);
// True immersive mode is available only for android API 19 and above,
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
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_STICKY);
}
更新:禁用沉浸式模式应该是这样的,
private void disableImmersiveMode() {
((FrameLayout) mToolbar.getParent()).setFitsSystemWindows(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
mDecorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
}
这样,你应该只看到第一次调用enableImmersiveMode()。
答案 1 :(得分:0)
你想要的只是沉浸式模式。在您的活动中尝试以下代码。
supress_stdout