如何隐藏actionBar(不是actionBarSherlock)和由同一个活动托管的片段的状态栏。

时间:2014-07-07 12:44:28

标签: android android-fragments

我有三个扩展Fragment(Not FragmentActivity)的类。我想在第二个和第三个片段上隐藏状态栏。我该怎么办?

注意:所有三个片段都由相同的活动托管。如果我隐藏第二个片段的actionBar它会隐藏所有三个片段的操作栏。

2 个答案:

答案 0 :(得分:1)

您可以覆盖onTabSelected以显示/隐藏 -

 @Override
public void onTabSelected(ActionBar.Tab tab,
        FragmentTransaction fragmentTransaction) {

    //get the tab position and show/hide 
    if (tab.getPosition() == 0) {
        ActionBar actionBar = getActionBar();
        actionBar.hide();
    } else {
        ActionBar actionBar = getActionBar();
        actionBar.show();
    }
}

<强>更新

在每个片段的onResume()方法中,您要显示操作栏 -

@Override
public void onResume() {
    super.onResume();
    ActionBar actionBar = getActionBar();
    actionBar.show();
}

在每个片段的onResume()方法中,您要隐藏操作栏 -

@Override
public void onResume() {
    super.onResume();
    ActionBar actionBar = getActionBar();
    actionBar.hide();
}

答案 1 :(得分:0)

在片段的oncreate中添加

getSupportActionBar().hide();

或添加    getActionBar()隐藏(); 如果您使用支持库。