Zackratos / UltimateBarX

Make Android transparent statusbar and navigationbar easy.
Apache License 2.0
1.56k stars 166 forks source link

大佬你好,遇到一个问题 #4

Closed flyskys closed 3 years ago

flyskys commented 4 years ago

大佬你好,遇到一个问题加载状态栏,导航栏也会出现,我根本用不到导航栏,目前是 UltimateBarX.create(UltimateBarX.NAVIGATION_BAR) .transparent() .apply(this);通过这个代码透明化。请问怎么去除导航栏

Zackratos commented 4 years ago

你的代码就是设置导航栏啊,如果要设置状态栏,你应该使用 UltimateBarX.STATUS_BAR

flyskys commented 4 years ago

我的意思是我只设置状态栏代码,导航栏也会出现,我为了不让出现,让导航栏透明化,这才看不出来。华为nova6安卓10

Zackratos commented 4 years ago

可以上截图吗,把设置前和设置后的截图都放出来

flyskys commented 4 years ago

image image 就写了设置状态栏,下面黑色就是导航栏

Zackratos commented 4 years ago

这个应该是判断导航栏是否存在的方法有错,感谢反馈,改天我找个华为手机调试一下

flyskys commented 4 years ago

好的,我能力有限只能看懂java的,要不我就改了。

Zackratos commented 4 years ago

koltin 其实挺简单的,也是趋势,可以学习一下 判断导航栏是否存在的方法在 Activity.kt 里面的 navigationBarExist 方法,欢迎提 pr

samgsmg commented 3 years ago

navigationBarExist 这个方法,对穿孔屏不适用。 三星Note10 + 上 realDisplayMetrics.heightPixels=3040 displayMetrics.heightPixels=2927 差的高度是statusBar的高度 (竖屏时) 横屏时 realDisplayMetrics.widthPixels=3040 displayMetrics.widthPixels=2927 statusBar高度又是 90.
在三星上手机设置用手势导航时 getNavigatorBarHeight =0 , 其实也是设置了高度为0的 NavigationBar View.

在华为手机上 穿空屏 realDisplayMetrics.heightPixels=2280 displayMetrics.heightPixels=2190 statusBarHeight=89 设置手势导航 系统不显示导航栏,但getNavigationBarHeight !=0 是实际navigationBar的高度 所以会出现不设置navigatorBar下边还是有一块黑色区域问题。

另外,定制navigationBar时,总是在屏幕下方显示定制的navigationBar ,但在手机横屏时,系统的导航栏位置不会放在屏幕的底部(跟竖屏时位置一样). 所以,创建navigationBarView的方法会有些问题。

flyskys commented 3 years ago

看代码

---原始邮件--- 发件人: "samgsmg"<notifications@github.com> 发送时间: 2020年11月6日(周五) 下午2:42 收件人: "Zackratos/UltimateBarX"<UltimateBarX@noreply.github.com>; 抄送: "Author"<author@noreply.github.com>;"flyskys"<1793253113@qq.com>; 主题: Re: [Zackratos/UltimateBarX] 大佬你好,遇到一个问题 (#4)

navigationBarExist 这个方法,对穿孔屏不适用。 三星Note10 + 上 realDisplayMetrics.heightPixels=3040 displayMetrics.heightPixels=2927 差的高度是statusBar的高度 (竖屏时) 横屏时 realDisplayMetrics.widthPixels=3040 displayMetrics.widthPixels=2927 statusBar高度又是 90. 在三星上手机设置用手势导航时 getNavigatorBarHeight =0 , 其实也是设置了高度为0的 NavigationBar View.

在华为手机上 穿空屏 realDisplayMetrics.heightPixels=2280 displayMetrics.heightPixels=2190 statusBarHeight=89 设置手势导航 系统不显示导航栏,但getNavigationBarHeight !=0 是实际navigationBar的高度 所以会出现不设置navigatorBar下边还是有一块黑色区域问题。

另外,定制navigationBar时,总是在屏幕下方显示定制的navigationBar ,但在手机横屏时,系统的导航栏位置不会放在屏幕的底部(跟竖屏时位置一样). 所以,创建navigationBarView的方法会有些问题。

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

flyskys commented 3 years ago

他这代码有问题,我之前给作者提过,看得懂自己改就行

---原始邮件--- 发件人: "samgsmg"<notifications@github.com> 发送时间: 2020年11月6日(周五) 下午2:42 收件人: "Zackratos/UltimateBarX"<UltimateBarX@noreply.github.com>; 抄送: "Author"<author@noreply.github.com>;"flyskys"<1793253113@qq.com>; 主题: Re: [Zackratos/UltimateBarX] 大佬你好,遇到一个问题 (#4)

navigationBarExist 这个方法,对穿孔屏不适用。 三星Note10 + 上 realDisplayMetrics.heightPixels=3040 displayMetrics.heightPixels=2927 差的高度是statusBar的高度 (竖屏时) 横屏时 realDisplayMetrics.widthPixels=3040 displayMetrics.widthPixels=2927 statusBar高度又是 90. 在三星上手机设置用手势导航时 getNavigatorBarHeight =0 , 其实也是设置了高度为0的 NavigationBar View.

在华为手机上 穿空屏 realDisplayMetrics.heightPixels=2280 displayMetrics.heightPixels=2190 statusBarHeight=89 设置手势导航 系统不显示导航栏,但getNavigationBarHeight !=0 是实际navigationBar的高度 所以会出现不设置navigatorBar下边还是有一块黑色区域问题。

另外,定制navigationBar时,总是在屏幕下方显示定制的navigationBar ,但在手机横屏时,系统的导航栏位置不会放在屏幕的底部(跟竖屏时位置一样). 所以,创建navigationBarView的方法会有些问题。

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

Zackratos commented 3 years ago

感谢大家的反馈,最新的 0.2.3 版本已经解决了全面屏手机误出导航栏的问题,欢迎升级体验 @flyskys @samgsmg