如何在activity中禁用状态栏status bar

Blueden9633 2012-04-26 10:35:25
把上面那一行状态栏去掉,全屏,可以做到。
但是锁屏,再解锁后,一定会有很短的时间离,状态栏会强制显示,那个时候就能选中状态栏了。
然后在网上找到的代码是

Object service = getSystemService("statusbar");
try {
Class<?> statusBarManager = Class
.forName("android.app.StatusBarManager");
Method expand = statusBarManager.getMethod("disable", int.class);
expand.invoke(service, 0x00000001);
} catch (Exception e) {
e.printStackTrace();
}


但是所需要的权限
<uses-permission android:name="android.permission.STATUS_BAR"/>
<uses-permission android:name="android.permission.DISABLE_STATUS_BAR"/>
是系统级的,只有root过后的手机才能使用!!??

网上的文章说要“使用系统签名”,请问应该如何执行?

或者用别的什么方法屏蔽掉status bar?
...全文
424 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fishmen26 2012-04-27
  • 打赏
  • 举报
回复
楼主可以尝试从锁屏到进入 这个activity的时 onResume函数中加一个handler, 这个handler 什么都不做,只是暂停执行几百毫秒,然后再继续执行后面的程序,这样可以避免状态栏会强制显示
【源码免费下载链接】:https://renmaiwang.cn/s/z4dib 沉浸式状态栏是一种在移动设备应用常见的设计技术,在这种设计下,应用界面顶部的状态栏与内容实现了有机融合,极大地提升了用户的视觉体验。这种效果通常伴随着颜色的渐变变化,例如透明度的调节或色调的变化,从而为用户提供了一种更为沉浸式的浏览感受。在Android系统,实现沉浸式状态栏需要通过多种方式来完成,在Android 5.0 Lollipop及以上版本,官方提供了更多的API支持这一特性。为了理解Android系统状态栏概念,我们需要明确其基本特征:状态栏位于屏幕顶部,显示系统图标、时间、通知等信息。在传统的应用设计状态栏与应用内容之间存在明显的分隔,在这种情况下,沉浸式状态栏的设计理念是将应用内容延伸至状态栏下方,从而营造出无边界的视觉效果。要实现这一目标,我们主要需要关注以下几个方面:首先,在AndroidManifest.xml配置文件为应用或特定的Activity启用透明主题,这可以通过设置`android:theme`属性并选择如`Theme.AppCompat.NoActionBar`或`Theme.MaterialComponents.Light.NoActionBar`等样式来实现;其次,在Activity的Java代码,通过禁用装饰视图(如StatusBar)和自定义状态栏颜色来控制显示效果,并利用动态画布或第三方库如`androidx.core.graphics.drawable.ColorDrawable`来实现渐变效果;再次,在布局管理器状态栏的高度进行适配处理,确保内容不会被遮挡并为Fragment应用预留足够的空间;此外,针对低版本Android系统(如5.0以下),需要使用兼容性增强的第三方库如`android-translucent-stat

80,493

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧