我是靠谱客的博主 酷炫吐司,最近开发中收集的这篇文章主要介绍android 沉浸式按钮,android – 如何完全退出沉浸式全屏模式?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我想实现一个按钮来启用/禁用沉浸式全屏模式.我正在使用这些方法,但showsystemUI只能快速显示并再次隐藏…

如何完全退出沉浸式模式?

我的方法:

// This snippet hides the system bars.

@SuppressLint("NewApi")

private void hidesystemUI() {

try{

// 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);

}catch(Exception e){

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

}

}

// 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.

@SuppressLint("NewApi")

private void showsystemUI() {

try{

mDecorView.setsystemUIVisibility(

View.SYSTEM_UI_FLAG_LAYOUT_STABLE

| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION

| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

}catch(Exception e){

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

mDecorView.setVisibility(View.GONE);

mDecorView.setVisibility(View.VISIBLE);

WindowManager.LayoutParams attrs = getWindow().getAttributes();

attrs.flags |= WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS;

getWindow().setAttributes(attrs);

mDecorView.setPadding(0,getStatusBarHeight(),0);

}

}

如何让内容再次显示在系统栏下?

最后

以上就是酷炫吐司为你收集整理的android 沉浸式按钮,android – 如何完全退出沉浸式全屏模式?的全部内容,希望文章能够帮你解决android 沉浸式按钮,android – 如何完全退出沉浸式全屏模式?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部