首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何避开android中的系统栏,扑腾?

在Android中,系统栏是指状态栏和导航栏,有时候我们可能需要隐藏或避开这些系统栏,以下是一些方法:

  1. 使用全屏模式:可以通过设置Activity的全屏标志来隐藏系统栏。在Activity的onCreate方法中,使用以下代码实现全屏模式:
代码语言:txt
复制
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

这将隐藏状态栏和导航栏,但用户可以通过滑动屏幕边缘来重新显示它们。

  1. 使用沉浸式模式:沉浸式模式可以隐藏系统栏,并且用户无法通过滑动屏幕边缘来显示它们。在Activity的onCreate方法中,使用以下代码实现沉浸式模式:
代码语言:txt
复制
View decorView = getWindow().getDecorView();
int flags = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility(flags);

这将隐藏状态栏和导航栏,并且用户需要通过下拉通知栏或者按下导航栏的返回键来重新显示它们。

  1. 使用WindowInsets API(适用于Android 11及以上版本):WindowInsets API提供了更灵活的方式来处理系统栏。可以通过以下代码来隐藏系统栏:
代码语言:txt
复制
ViewCompat.setOnApplyWindowInsetsListener(view, (v, insets) -> {
    WindowInsetsCompat newInsets = insets.consumeSystemWindowInsets();
    return newInsets;
});

这将隐藏状态栏和导航栏,并且可以根据需要进行自定义处理。

需要注意的是,以上方法只是隐藏或避开系统栏,但并不会禁用它们的功能。在某些情况下,系统栏可能会自动显示,例如接听电话或者收到通知时。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android通知微技巧,8.0系统通知适配

那么本篇文章,我们自然要将重点放在通知上面了,学习一下Android 8.0系统通知适配。 其实在8.0系统之前,还有一次通知变动比较大版本,就是5.0系统。...通知Android系统原创一个功能,虽说乔布斯一直认为Android系统是彻彻底底抄袭iOS一个产品,但是通知确实是Android系统原创,反而苹果在iOS 5之后也加入了类似的通知功能。...好了,前面向大家介绍了这么多背景知识,那么现在开始我们就正式进入正题,来学习一下如何进行8.0系统通知适配。...当然我们还是可以下拉展开通知,查看通知详细信息: ? 不过上面演示都是通知传统功能,接下来我们看一看Android 8.0系统通知特有的功能。...那么下面我们就来学习一下如何Android系统上实现未读角标的效果。

2.8K40

Android如何获取屏幕、状态及标题高度详解

前言 本文主要给大家介绍了关于Android获取屏幕、状态及标题高度相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细介绍吧 在开始之前,先来看一张图: ?...绿色区域:屏幕区域 蓝色区域:状态区域 红色区域:标题区域 黄色区域:view绘制区域 1.Android手机屏幕高度 整个手机使用发亮,不使用变黑部分,绿色区域 获取屏幕高度方法一 DisplayMetrics...手机状态高度(蓝色区域) 状态指的是,手机最上方显示,系统时间,电量等等区域。...()设置布局) 获取手机以应用区域 //应用区域 Rect outRect1 = new Rect(); getWindow().getDecorView().getWindowVisibleDisplayFrame...().findViewById(Window.ID_ANDROID_CONTENT).getTop(); Log.e("TAG", "标题:" + viewTop); 5.Android手机绘制区域高度

4.7K10
  • Android实现系统状态隐藏和显示功能

    尤其视频类APP,需要实现切换到横屏后,隐藏系统状态,全屏显示,以实现看更大画面的视频。当切换回竖屏后,又显示状态。那么如何实现呢? 网上流传着很多种做法。...比如: 1、在AndroidManifest.xml文件修改theme为android:theme=”@android:style/Theme.NoTitleBar.Fullscreen” 2、在setContentView...().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) //显示状态 在我项目中是要实现如下需求:在当前Activity,切换到横屏后,...(测试手机:华为荣耀8 系统是基于Android 7.0EMUI 5.0;三星galaxy s6 系统Android 6.0) 最后,使用方法4,成功满足需求。...总结 以上所述是小编给大家介绍Android实现系统状态隐藏和显示功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家。在此也非常感谢大家对ZaLou.Cn网站支持!

    4.4K40

    Android实战经验分享之如何获取状态和导航高度

    Android 应用开发,有时我们需要知道状态和导航高度,以便在布局中进行调整。获取这些高度方法有几种,每种方法在准确性和兼容性方面有所不同。...获取状态高度方法 方法一:通过资源名称获取 这种方法最常见,也最推荐,具有较高准确性和兼容性。...4.4W) 以上,但在较新版本 Android(API 21及以上)更为准确。...: 0 } 获取导航高度方法 方法一:通过资源名称获取 这种方法和获取状态高度方式类似。...缺点:可能受某些定制 ROM 影响,准确性在极少数情况下可能有问题。 2、 通过 WindowInsets 获取: 优点:在较新版本 Android 上非常准确。

    15810

    Android经典面试题之Kotlin如何隐藏DialogFragment和Dialog导航

    DialogFragment隐藏导航Android ,使用 DialogFragment 显示对话框时,如果您希望隐藏系统导航(如状态和导航键),可以通过设置相关系统 UI 标志来实现。...以下是一个完整例子,展示了如何在 DialogFragment 隐藏系统导航(使用 Kotlin): import android.os.Bundle import android.view.View...onViewCreated: 在视图创建后设置系统 UI 可见性标志,隐藏导航和状态。 onStart: 设置对话框窗口布局参数,使其覆盖整个屏幕。...onViewCreated 方法设置系统 UI 可见性标志,可以实现隐藏系统导航效果。...Dialog隐藏导航Android ,如果想在 Dialog 隐藏系统导航(包括状态和底部导航键),可以通过设置窗口属性来实现。

    13010

    android Compose沉浸式设计和导航处理

    简单写一篇文章捕获一下焦点 Material Design风格顶部和底部导航 ComposeMaterial Design风格设计我们做法如下: 1、使用Scafoold作为页面的顶级,Scafoold...承载topbar和bottombar分别作为顶部导航和底部导航。...(window, false)设置后页面布局顶到了状态上面,因为我们需要用一个Spacer来填充状态,让我们布局看起来正常点 代码 如下是封装状态方法 @Composable fun TopBarView...ui状态 处理前: 处理后: 结论是经过我们处理后解决了底部导航遮挡问题 状态和底部导航颜色处理 状态和底部导航颜色设置 依赖 implementation "com.google.accompanist...如何处理内容部分超出底部导航区域 使用WindowCompat.setDecorFitsSystemWindows(window, false)处理了页面后,Scafoold内容区域也会被顶到底部导航下方

    3.1K20

    如何屏蔽侧边最新评论博主回复

    博主需要经常和访客互动,博主回复也作为一条评论在最新评论处显示,这样一来,如果博主如果一次回复好几条评论留言,那么在最新评论地方显示都是自己评论,这样不太好。...于是博主想把博主自己最新评论显示屏蔽掉。    ...那么怎么在最新评论那里屏蔽掉博主自己回复评论呢,其实很简单,就是通过检测邮箱或者用户名,如果是博主邮箱或者用户名,则不显示在最新评论处即可,方法如下:     找到根目录“include/lib”目录下...如果你还有更多小号,中间重复 AND mail!='你邮箱' 即可。如果修改后无任何变化的话,请到后台数据更新缓存即可。    ...注:以上方法只在emlog5.3.1测试正常,其他版本为做测试,修改之前请先做好备份,以免造成损失!

    33020

    系统剖析Android内存泄漏

    上面的垃圾回收,我们提到两个概念,一个是GC根节点,另一个是强引用 在Java,可以作为GC 根节点有 类,由系统类加载器加载类。...提到强引用,有必要系统说一下Java引用类型。...由于Android系统为每个App分配内存空间有限,在一个内存泄漏严重App,很容易导致OOM,即内存溢出错误。 内存泄漏会随着App推出而消失(即进程结束)。...当我们旋转设备时,Android系统会销毁当前Activity,创建新Activity来加载合适布局。如果出现Activity被单例实例持有,那么旋转过程旧Activity无法被销毁掉。...Tree来自MAT官方网站 一些链接 垃圾回收器如何处理循环引用 译文:理解Java弱引用 AndroidHandler引起内存泄露 避免AndroidContext引起内存泄露 Google

    1.3K30

    Android 逆向】Android 进程注入工具开发 ( 系统调用 | Android NDK 系统调用示例 )

    文章目录 一、系统调用 二、Android NDK 系统调用示例 一、系统调用 ---- 在 " 用户层 " , 运行都是用户应用程序 ; 用户层 下面 是 驱动层 , 驱动层 下面是 系统层 ,...最底层是 BIOS ; 系统层 包含 系统内核 ; 层级从上到下 : 用户层 | 驱动层 | 系统层 | BIOS ; 上述 4 层之间 , 不可以直接跨越 , 应用想要读取 驱动 / 内核 数据是不被允许...; 整个应用进程控制权此时就交给了 驱动层 / 系统层 , 在这些底层具体执行了哪些操作 , 应用层是不知道 ; arm 架构 CPU 软中断指令是 SVC ; x86 架构 CPU 软中断指令是...int ; 与 软中断 相对应是 硬中断 ; 硬中断 是由 硬件产生 ; 二、Android NDK 系统调用示例 ---- 系统调用相关头文件定义在 D:\Microsoft\AndroidNDK64...\android-ndk-r16b\sysroot\usr\include\asm-generic\unistd.h 文件 ; 在该文件定义了所有的系统调用 ; #include <asm/bitsperlong.h

    1.6K10

    FlutterAppBar、TabBar和TabController——顶部切换如何实现

    顶部TabBar切换实现第一种方式 在Flutter,AppBar用于定义顶部导航: Scaffold( appBar: AppBar( title: Text("AppBarPageDemo...centerTitle,标题是否居中显示(无论是iOS还是Android) isScrollable,顶部TabBar是否可以滚动。...2,TabBartabsTab元素,以及TabBarViewchildren页面元素是一一对应,对应好了之后就可以在页面对应展示了。...以上是两个ScaffoldappBar都配置了title,但没有配置bottom。 好,我们现在来考虑一下,在有两个Scaffold场景下,如何实现顶部TabBar效果。...好,现在我们已经知道该如何利用AppBar和TabBar来实现顶部Tabbar视觉效果了。在本文最后,我们来了解一下如何个性化设置顶部TabBar导航条。

    10.2K20

    关于 Android 各种 Bar 和“透明状态一些知识

    此篇文章主要讲解关于沉浸式状态,程序全屏和分清状态、ActionBar、ToolBar 一些知识内容。主要是讲解如何适配状态。...说明:在 Android 4.4 之前状态一直就是黑色,在 Android 4.4 带来了 windowTranslucentStatus 这一特性,这个时候才可以给状态设置颜色。... ActionBar)会占据系统。...表示是否保留系统空间。可以在布局属性设置。作用和给控件添加 "fitsSystemWindows" 属性相同。...如果设置了这个属性为 true,那么则是保留系统 UI 位置(实际上是固定了我们 UI 高度,我们 UI 高度就是屏幕去掉系统高度后高度),那么这个时候你如何设置了 FLAG_LAYOUT_HIDE_NAVIGATION

    2.7K10

    Android编程沉浸式状态三种实现方式详解

    本文实例讲述了Android编程沉浸式状态三种实现方式。...分享给大家供大家参考,具体如下: 沉浸式状态 Google从android kitkat(Android 4.4)开始,给我们开发者提供了一套能透明系统ui样式给状态和导航,这样的话就不用向以前那样每天面对着黑乎乎上下两条黑了...,还可以调成跟Activity一样样式,形成一个完整主题,和IOS7.0以上系统一样了。...首先看下第一种方式 系统方式沉浸式状态实现 步奏一 //当系统版本为4.4或者4.4以上时可以使用沉浸式状态 if (Build.VERSION.SDK_INT = Build.VERSION_CODES.KITKAT...接着看下第二种方式 实现思路,添加隐藏布局,然后我们动态计算状态高度,然后把这个高度设置成这个隐藏布局高度,便可以实现 在这里我们通过反射来获取状态高度 /** * 通过反射方式获取状态高度

    2.2K10
    领券