仅在一个片段中隐藏状态栏并将其显示在其他片段上

时间:2015-10-13 04:32:59

标签: android xml fragment statusbar

我的活动中有3个片段,我想通过隐藏状态栏来全屏制作一个片段。当我退出该片段时,状态栏应该重新出现。我怎么能这样做?

4 个答案:

答案 0 :(得分:1)

访问https://developer.android.com/training/system-ui/status.htmlhttps://developer.android.com/training/system-ui/visibility.html

清楚地解释了如何在不同的Android版本中隐藏和显示状态栏。

答案 1 :(得分:1)

总是更好地在父活动中定义一个函数,该函数将具有隐藏状态栏的代码,并且在目标片段中调用该函数将隐藏该片段的状态栏以及在其停止方法中退出片段时你可以再次显示状态栏。

让这成为你活动的方法,

public void hideStatusBar()
    {
     // your code depending upon what you have implemented
    }

 public void showStatusBar()
        {
         // your code depending upon what you have implemented
        }

然后在片段恢复上你可以像这样调用这个方法,

((ParentActivity)getActivity()).hideStatusBar();

并再次显示其他片段,您可以覆盖片段的onStop,

((ParentActivity)getActivity()).showStatusBar();

答案 2 :(得分:0)

如果要以编程方式清除使用setSystemUiVisibility()设置的标志,可以执行以下操作:

activity?.window?.decorView?.systemUiVisibility = 0

https://developer.android.com/training/system-ui/dim

答案 3 :(得分:0)

片段的显示/隐藏状态栏的

Kotlin 版本

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)

    (activity as MainActivity).supportActionBar?.hide()
}