android基础篇显示隐藏状态栏和导航栏(代码片段)

彭老希 彭老希     2022-12-10     799

关键词:

一、AppTheme主题配置全屏属性

 <item name="android:windowFullscreen">true</item>

二、Activity的setContentView之前设置全屏的flag

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

三、控制状态栏显示、隐藏

// 隐藏状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
// 显示状态栏
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

四、控制状态栏和导航栏显示、隐藏

View.SYSTEM_UI_FLAG_LAYOUT_STABLE:全屏显示时保证尺寸不变。
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏显示,状态栏显示在Activity页面上面。
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏导航栏
View.SYSTEM_UI_FLAG_FULLSCREEN:Activity全屏显示,且状态栏被隐藏覆盖掉。
View.SYSTEM_UI_FLAG_VISIBLE:Activity非全屏显示,显示状态栏和导航栏。
View.INVISIBLE:Activity伸展全屏显示,隐藏状态栏。
View.SYSTEM_UI_LAYOUT_FLAGS:效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY:必须配合View.SYSTEM_UI_FLAG_FULLSCREEN和View.SYSTEM_UI_FLAG_HIDE_NAVIGATION组合使用,达到的效果是拉出状态栏和导航栏后显示一会儿消失。

// 全屏展示
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
        // 全屏显示,隐藏状态栏和导航栏,拉出状态栏和导航栏显示一会儿后消失。
        activity.getWindow().getDecorView().setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
     else 
        // 全屏显示,隐藏状态栏
        activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
    


// 非全屏显示,显示状态栏和导航栏
activity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);

android6.0隐藏导航栏和状态栏(代码片段)

frameworks\\base\\core\\res\\res\\values\\dimens.xml<!--Heightofthestatusbar-->mm<dimenname="status_bar_height">0dp</dimen><!--Heightofthebottomnavigation/systembar.-- 查看详情

隐藏状态栏和导航栏位置

...ion]setStatusBarHidden:isHiddenwithAnimation:UIStatusBarAnimationSlide];来显示/ 查看详情

在 iPhone X 上,分别控制显示/隐藏导航栏和状态栏

】在iPhoneX上,分别控制显示/隐藏导航栏和状态栏【英文标题】:OniPhoneX,ControlShow/HideNavigationBarandStatusBarseparately【发布时间】:2018-06-2019:13:56【问题描述】:我想分别控制显示和隐藏NavigationBar和StatusBar或我的应用程序中的每个... 查看详情

iOS:状态栏和导航栏:空格或底层

...的方式操作状态栏和导航?所以,我的目标是同时隐藏和显示状态栏和导航栏。我应该以规范的方式做什么,避免它们之间的空间,避免底层(状态栏位于导航栏上)并支持正常旋转?我玩过它,现在我有代码了:-(void)tryToMani 查看详情

点击设备时如何隐藏状态栏和导航栏

】点击设备时如何隐藏状态栏和导航栏【英文标题】:howtohidestatusbarandnavigationbarwhentapdevice【发布时间】:2014-12-0402:28:55【问题描述】:如何在iphone中像照片一样点击设备时隐藏状态栏和导航栏?我用过UIApplication.sharedApplication().... 查看详情

iOS 7,状态栏和导航栏:像 Reeder 一样使用侧面板隐藏或滑动

...旧的。我有一个带有菜单的滑动面板(JASidePanel),我想在显示菜单时隐藏或滑动状态栏。所以,我有两个选择:隐藏状态栏并保持导航栏的高 查看详情

管理systemui(状态栏+导航栏)

...文主要讲解怎样去调暗或者隐藏系统栏,根据不同的Android版本去创建一个沉浸式的用户体验,与此同时依旧保留对系统栏的便捷访问。调暗系统栏调暗系统栏只支持在Android4.0(APIlevel14)和以上。在4.0以前版本,Android不... 查看详情

管理systemui(状态栏+导航栏)

...文主要讲解怎样去调暗或者隐藏系统栏,根据不同的Android版本去创建一个沉浸式的用户体验,与此同时依旧保留对系统栏的便捷访问。调暗系统栏调暗系统栏只支持在Android4.0(APIlevel14)和以上。在4.0以前版本,Android不... 查看详情

极简操作无需root隐藏s8导航栏和状态栏

距离三星GalaxyS8国行发布快一个礼拜了,相信论坛不少小同伴已经拿到手,许多人和我一样被那块全视曲面屏给诱惑剁手的,当拿到手把玩一段时间后却發现这么美的一块屏幕居然大部分应用上下都有一行碍眼的状态栏和导航栏... 查看详情

如何同时滑入/滑出状态栏和导航栏?

...:2011-03-0903:46:06【问题描述】:我想使用幻灯片效果同时显示和隐藏状态栏和导航栏。我就是这样尝试的:[[UIApplicationsharedApplication]setStatusBarHidden:hidewithAnimation:UISt 查看详情

系统覆盖不覆盖状态栏和导航栏 Android

】系统覆盖不覆盖状态栏和导航栏Android【英文标题】:SystemOverlaynotcoveringStatusbar&NavigationbarAndroid【发布时间】:2021-05-0810:15:23【问题描述】:我正在使用窗口服务在屏幕上绘制叠加层。但是我的覆盖没有覆盖整个屏幕,它没... 查看详情

android10动态显示隐藏导航栏,状态栏(代码片段)

...能,所以单独加了一个service修改:frameworks/base/core/res/AndroidManifest.xml@& 查看详情

android10动态显示隐藏导航栏,状态栏(代码片段)

...能,所以单独加了一个service修改:frameworks/base/core/res/AndroidManifest.xml@& 查看详情

android状态栏的设置

参考技术A先看一下默认的情况:蓝色一行是自定义的导航栏,黑色的是自带的ActionBar,也就是我们说的标题栏。首先一般都会选择去掉ActionBar:隐藏actionbar有很多种方法这种方法是全局中隐藏了标题栏。其实在我的手机更新系... 查看详情

我已经隐藏了导航栏和状态栏,现在屏幕边缘平移手势返回不起作用,这是典型的吗?

】我已经隐藏了导航栏和状态栏,现在屏幕边缘平移手势返回不起作用,这是典型的吗?【英文标题】:I\'vehiddenthenavigationbarandthestatusbar,nowthescreenedgepangesturetogobackwon\'twork,isthistypical?【发布时间】:2014-12-0507:03:18【问题描述】:... 查看详情

隐藏 NavBar 但显示带背景的状态栏

】隐藏NavBar但显示带背景的状态栏【英文标题】:HideNavBarbutshowstatusbarwithbackground【发布时间】:2016-09-2420:57:06【问题描述】:我的导航栏设置为在滚动时隐藏,但它也会在滚动时使用我的状态栏的背景颜色,在我滚动时在我的... 查看详情

如何在主屏幕和子屏幕中显示状态栏和隐藏状态栏

】如何在主屏幕和子屏幕中显示状态栏和隐藏状态栏【英文标题】:Howtoshowthestatusbarandhidestatusbarsinmainscreensandsubscreens【发布时间】:2020-01-1022:54:18【问题描述】:我需要在所有主屏幕中显示状态栏,并且需要在所有子屏幕中隐... 查看详情

ios下状态栏和导航栏的控制问题

...点,IOS的界面分为状态栏和导航栏,状态栏是指显示电池、时间的最顶部的一个窄条,高度为20个点;而导航栏是紧接着状态栏的44个点高度的横条,一般用于显示app标题,返回按钮等操作按钮。在ios7之前&... 查看详情