解决安卓在隐藏系统栏后usb鼠标被隐藏的问题
问题

在正常情况下,或者fullScreen情况下,插入的usb鼠标都会被显示,显示在屏幕中。
区别在于fullscreen时,stutasBar和navigationBar都会被隐藏,此时usb鼠标的显隐都是正常的。
这个控制我们是否是全屏显示,配置在主题的xml中。
<item name="android:windowFullscreen">false</item>
复现
当我们设置显示状态栏,同时隐藏导航栏时候,usb的鼠标会被系统隐藏。
此时鼠标在顶栏,但是被隐藏。需要点击鼠标左键,才会显示我的鼠标出来。至于为什么,估计是鼠标被作为navigationBar中的内容。
具体是为什么,不太清楚。
解决方案
gradle
// 沉浸式框架:https://github.com/gyf-dev/ImmersionBar
implementation("com.geyifeng.immersionbar:immersionbar:3.2.2")
在Activity的onCreate的setContentView之前
java
ImmersionBar.with(this)
// 默认状态栏字体颜色为黑色
.statusBarDarkFont(true)
.fitsSystemWindows(true)
// 指定导航栏背景颜色
.navigationBarColor(android.R.color.white)
// 状态栏字体和导航栏内容自动变色,必须指定状态栏颜色和导航栏颜色才可以自动变色
.autoDarkModeEnable(true, 0.2f).init();
这下就正常了,状态栏字体也设置为了黑色。usb模式的鼠标也不会消失了。感谢开源!