本课介绍了如何调暗系统栏(即 。Android 不提供调暗 系统栏。
使用此方法时,内容大小不会调整,但系统栏中的图标会调整 视觉上会下滑用户触摸导航栏或导航栏区域后, 两个条形都完全可见。这种技术的优势 但条形依然存在,但细节被遮盖 营造一种身临其境的体验,同时又不容易进入酒吧。
调暗状态栏和导航栏
您可以使用
SYSTEM_UI_FLAG_LOW_PROFILE
标志,如下所示:
Kotlin
// This example uses decor view, but you can use any visible view. activity?.window?.decorView?.apply { systemUiVisibility = View.SYSTEM_UI_FLAG_LOW_PROFILE }
Java
// This example uses decor view, but you can use any visible view. View decorView = getActivity().getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_LOW_PROFILE; decorView.setSystemUiVisibility(uiOptions);
用户一轻触状态栏或导航栏,该标记即被清除。 导致条形变暗标记被清除后,您的应用需要重置 如果您想再次调暗黑边。
图 1 显示了一张导航栏处于灰显状态的图库图片(请注意,图库应用 完全隐藏状态栏;它不会调暗屏幕)。请注意,导航栏(右侧) 有微弱的白点,表示导航控件:
图 2 所示为同一图库图片,但显示了系统栏:
显示状态栏和导航栏
如果您想以程序化方式清除通过
setSystemUiVisibility()
,您可以
如下所示:
Kotlin
activity?.window?.decorView?.apply { // Calling setSystemUiVisibility() with a value of 0 clears // all flags. systemUiVisibility = 0 }
Java
View decorView = getActivity().getWindow().getDecorView(); // Calling setSystemUiVisibility() with a value of 0 clears // all flags. decorView.setSystemUiVisibility(0);