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

解决安卓在隐藏系统栏后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模式的鼠标也不会消失了。感谢开源!

相关推荐
游戏开发爱好者85 小时前
iPhone HTTPS 抓包实战,原理、常见工具、SSL Pinning 问题与替代工具的解决方案
android·ios·小程序·https·uni-app·iphone·ssl
2501_929382656 小时前
Will、NGC游戏模拟器 Dolphin海豚模拟器2509最新版 电脑+安卓版 附游戏
android·游戏·电脑
如此风景7 小时前
CompositionLocal 详解
android
如此风景7 小时前
staticCompositionLocalOf或compositionLocalOf介绍
android
沐怡旸7 小时前
【Android】【底层机制】为什么Android要使用Binder而不是传统的Socket?
android
lph0097 小时前
Android compose Room Sqlite 应用 (注入式)
android·数据库·sqlite
science138637 小时前
开播多进程演进(内存优化500+MB)
android
用户2018792831677 小时前
用 “快递站” 故事读懂 Binder 驱动:公开 / 匿名 Binder 打开全解析
android
相与还7 小时前
【2D横版游戏开发】godot实现tileMap地图
android·游戏引擎·godot