我有两个Fragments
,其中A有toolbar
而B没有。{在B的onCreateView中,我称之为:
((MainActivity) getActivity()).hideToolbar();
基本上是:
if (getSupportActionBar() != null)
getSupportActionBar().hide();
当我从B切换到A时,我打电话:
getFragmentManager()
.beginTransaction
.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right)
.hide(getFragmentManager().findFragmentByTag("B"))
.commit();
// Opposite of hiding toolbar method
((MainActivity) getActivity()).showToolbar();
然后显示工具栏,问题是工具栏在FragmentTransaction
完成之前显示。如果我等到事务完成以显示工具栏,它将看起来很愚蠢,因为在显示工具栏之前整个片段是可见的。有没有办法将一个片段显示在另一个片段之上,其中顶部显示的片段没有工具栏,而下面的片段在隐藏时保留其工具栏?
答案 0 :(得分:1)
在要隐藏工具栏的片段中,添加此代码
@Override
public void onResume() {
super.onResume();
((AppCompatActivity)getActivity()).getSupportActionBar().hide();
}
@Override
public void onStop() {
super.onStop();
((AppCompatActivity)getActivity()).getSupportActionBar().show();
}