android - 从另一个应用程序切换回应用程序以及截屏时导航栏不会重新隐藏?
问题描述
所以我正在开发一个全屏的应用程序。该代码确实工作得很好。但是当我切换到任何其他应用程序并返回它时,导航栏和状态栏都不会隐藏。当我截屏时也会发生这种情况。
回来,这是我编写的代码:
private fun funcFullScreen() {
window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_IMMERSIVE
or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_FULLSCREEN
or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY)
}
我只是简单地调用这样的函数funcFullScreen()
。
我试过什么?
1]androidFocusableInTouchMode="true"
2] 我也尝试添加 onWindowFocusChange 东西,但这让我又头疼了,当我在我的应用程序本身中切换活动时,导航栏会出现一两秒钟。解决这个问题似乎很困难,我已经尝试了互联网上所有可能的解决方案。
有什么办法可以解决这个问题?由于我对 Java 或 Kotlin 都很好,我的应用程序由两者组成(Java 中的一些活动,而 Kotlin 中的其他活动)并且都受到这个问题的影响。
3]还尝试在onResume中添加代码,这在我从另一个应用程序切换回来时有效,但在我截屏时无效。
解决方案
所以基本上我认为你是在该活动的 onCreate() 方法中编写所有代码,当你转到另一个应用程序时,它的活动屏幕默认显示状态栏和导航栏,然后你再次回来然后你没有得到在 onCreate() 中回调,而不是在 onResume() 中获取它,因此您需要将 OnResume() 中的代码从 onCreate() 移动,以便在您再次返回此屏幕时调用它。
推荐阅读
- xpath - XPath:ax following-sibling 不够准确
- java - 输出中跳过的用户输入
- regex - 正则表达式匹配带或不带查询参数的无扩展 url
- c# - 从字典中获取特定值
- aem - HTML中的珊瑚UI元素
- c++ - 如何在 MFC 窗口中输出 cv::Mat
- javascript - 如何将笔画属性添加到绘制的元素?
- python - 使用 Selenium 单击“下一步”按钮,直到解析所有页面:Python3
- spring-webflux - 如何在 Spring WebFlux 中使用 Jaeger?
- c# - 切换到桌面时 Form.ShowDialog() 上的 DialogResult.Cancel