您的位置:首页 > 新闻 > 会展 > 私人免费网站怎么下载_应届生简历模板_陕西网站建设制作_网络新闻发布平台

私人免费网站怎么下载_应届生简历模板_陕西网站建设制作_网络新闻发布平台

2025/6/8 9:10:27 来源:https://blog.csdn.net/u010207898/article/details/146474716  浏览:    关键词:私人免费网站怎么下载_应届生简历模板_陕西网站建设制作_网络新闻发布平台
私人免费网站怎么下载_应届生简历模板_陕西网站建设制作_网络新闻发布平台

在 Android 开发中,隐藏或去除状态栏(Status Bar)有多种方法,具体实现方式取决于应用场景和目标 Android 版本。以下是常用的 ​6 种方法及其代码示例:

在 Android 开发中,隐藏或去除状态栏(Status Bar)有多种方法,具体实现方式取决于应用场景和目标 Android 版本。以下是常用的 ​6 种方法及其代码示例:


方法 1:通过代码动态隐藏(适用于所有 Android 版本)

在 Activity 的 onCreate 或 onResume 方法中调用:

// 隐藏状态栏(保留导航栏)
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);// 恢复状态栏
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

方法 2:沉浸式模式(Android 4.4+ API 19+)

隐藏状态栏和导航栏,用户滑动屏幕边缘时会暂时显示系统栏:

View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN // 隐藏状态栏| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; // 隐藏导航栏(可选)
decorView.setSystemUiVisibility(uiOptions);

方法 3:粘性沉浸式模式(Android 4.4+)

系统栏自动隐藏,用户滑动屏幕边缘时短暂显示:

View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility(uiOptions);

方法 4:通过主题静态隐藏(推荐)

在 res/values/styles.xml 中定义全屏主题:

<style name="FullScreenTheme" parent="Theme.AppCompat.Light.NoActionBar"><item name="android:windowFullscreen">true</item>
</style>

在 AndroidManifest.xml 中应用主题:

<activity android:name=".MainActivity"android:theme="@style/FullScreenTheme" /> 

方法 5:隐藏状态栏但保留内容区域(Android 11+)

使用 WindowInsetsController(API 30+):

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {WindowInsetsController controller = getWindow().getInsetsController();if (controller != null) {controller.hide(WindowInsets.Type.statusBars());// controller.show(WindowInsets.Type.statusBars()); // 恢复}
}
 

方法 6:强制全屏(慎用)

在 Activity 中彻底隐藏所有系统 UI:

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_FULLSCREEN| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
);

⚠️ 注意事项

  1. 兼容性:不同 Android 版本需选择对应方法(如 API 30+ 优先用 WindowInsetsController)。
  2. 布局适配:全屏时需设置 android:fitsSystemWindows="true" 避免内容被遮挡。
  3. 恢复状态栏:退出页面时需清除标志,否则会影响其他页面。

扩展:隐藏状态栏后的布局处理

在 onCreate 中调用以下代码,让内容延伸到状态栏区域:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {WindowManager.LayoutParams params = getWindow().getAttributes();params.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;getWindow().setAttributes(params);
}
通过上述方法,开发者可以根据需求灵活控制状态栏的显示与隐藏,感觉有用,点个关注吧 ☺ ☺ ☺

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com