我一直在尝试做一个片段全屏,但是网上几乎每个答案都有弃用的方法,甚至android官方网站也有弃用的方法Link。
我正在使用Kotlin,在遵循this的答案后,我已经尝试了这个片段。
override fun onAttach(context: Context) {
super.onAttach(context)
requireActivity().window.addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)
}
override fun onDetach() {
super.onDetach()
requireActivity().window.clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)
}
但我得到的结果是
您可以清楚地看到导航栏和状态栏仍然存在。
你能分享正确的和最新的方法来获得全屏的片段?
3条答案
按热度按时间4si2a6ki1#
如果您阅读了ViewCompat.getWindowInsetsController()的文档,您会发现它只是因为他们希望您使用getInsetsController()而被弃用。否则,示例代码就可以正常工作。
cu6pst1q2#
你可以使用主题如下
mzaanser3#
用于使片段全屏显示。
确保在你的代码片段中也添加这段代码,它会再次显示系统栏。
我不知道WindowsInsetsControllerCompat是如何工作的,但如果有人想隐藏系统栏,这将有所帮助。