👉👉👉 使用适配 Android 15、16 的版本,请移步到...
检查一下[JitPack]发布吧,失败了,拉取不下来的。
immersionbar-3.3.0.aar.pptx 花时间编译了下节省一下时间吧,想用的,可以快速试试,手动改后缀名.
https://jitpack.io/#ocnyang/immersionBar/3.4.0 不要意思,github 消息被淹了,刚看到消息;原本的 jitpack 发布脚步写的有问题,已经修复了,现在能正常依赖的。
如果后续有什么问题,到我 fork 的仓库提 issue 吧
博主你好,最近在给老项目升级到了sdk35,非常感谢该库持续更新,我看了上面的描述,升级到3.4.0就可以了,但是我升级后,发现有问题,15跟16都有问题,我举3个例子:
左图15手机,右图11手机
1.没有任何引入,白色主题 显示的问题都正常
2.引入
15手机显示正常,11手机文字直接飘到顶部出去了,漏了一半
ImmersionBar.with(this) .statusBarDarkFont(true, 0.2f) .init(); //必须调用方可沉浸式
3.引入
15手机显示偏下,中间向间隔了1个标题栏,11手机正常 ImmersionBar.with(this) .statusBarColor(statusBarColor) //状态栏颜色,不写默认透明色 .fitsSystemWindows(true) .statusBarDarkFont(true, 0.2f) .init(); //必须调用方可沉浸式
https://github.com/OCNYang/ImmersionBar 靠谱
@yuanshenbin 从你的描述中,如果没有引入,在各个版本中已经显示正常了:已经正常了,你还有引入的必要吗?为什么还要引入呢???不引入已经正常了, 说明你的项目中已经有其他方式来管理 Bar 了,你可以确认下你 Activity 继承的父类是哪个 XXXXActivity 进行排查。
其实新的项目(targetSdk 比较高时)采用官方最新的 EdgeToEdge 方案就可以了。
目前这个 ImmersionBar 库主要是为了兼容老项目的。
@OCNYang @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); ImmersionBar.with(this).statusBarColor(R.color.colorAccent).navigationBarColor(R.color.colorAccent).init(); setContentView(binding.getRoot()); }
原作者的版本是可以改變顏色的 而且我看你把issue功能關閉, 使用者根本沒辦法提問題。
@ChildProdigy 已开启,应该是因为 fork 的仓库可能默认关闭了或者误关闭了。
终于定位了问题所在,你应该是和上面 [yuanshenbin](https://github.com/gyf-dev/ImmersionBar/issues/583#issuecomment-3585850857) 反馈的问题是一样的。一直好奇为什么会有这种出现这种问题,定位终于明白了,你们的 targetSdkVersion 版本肯定是高版本的 35 36。
我原本 fork 这个项目并维护是为了老项目兼容 高版本手机,让老项目能够继续续命的。没想到你们会在新项目中使用。
我又更新了版本,为你们在 高版本 targetSdkVersion 中也提供了兼容使用。
但是原则上:当项目 targetSdkVersion 比较高时,还是提倡使用官方的方案。