我有三个扩展Fragment(Not FragmentActivity)的类。我想在第二个和第三个片段上隐藏状态栏。我该怎么办?
注意:所有三个片段都由相同的活动托管。如果我隐藏第二个片段的actionBar它会隐藏所有三个片段的操作栏。
答案 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()隐藏(); 如果您使用支持库。