Android 11 中的分屏(多窗口)功能确实改变了状态栏的行为,具体来说,在分屏模式下,状态栏会缩小,并将通知合并到单个通知区域中。如果你希望在分屏模式下保持状态栏的原始行为,可以通过以下代码来实现:
Kotlin:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
val controller = requireActivity().window.insetsController
controller?.show(WindowInsets.Type.statusBars())
controller?.systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
}
Java:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
WindowInsetsController controller = requireActivity().getWindow().getInsetsController();
if (controller != null) {
controller.show(WindowInsets.Type.statusBars());
controller.setSystemBarsBehavior(WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE);
}
}
这些代码将在分屏模式下显示原始大小的状态栏,并让用户可以通过滑动来显示或隐藏状态栏。