在我的应用程序中有一个包含四个片段的Activity。我想让四个片段中的一个片段变得透明。首页片段是好的,因为我想要的,但状态栏也消失的其他片段,我不想要的。我想显示其他3个片段的状态栏。
private void transparentStatusBar() {
Window window = getActivity().getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
window.setStatusBarColor(Color.TRANSPARENT);
}
2条答案
按热度按时间bfrts1fy1#
当你设置透明状态栏时,它总是引用Activity,所以在这个Activity中的所有片段都将有透明的状态栏。在这种情况下,您可以在切换到所需的透明状态栏片段时设置和删除透明状态栏。
dfty9e192#
您可以在Activity中拥有这样的函数,并从所需的片段中调用它