片段事务之前隐藏Actionbar(Android)

时间:2015-09-03 22:49:37

标签: android android-fragments android-actionbar

我的应用程序包含一个包含多个片段的活动。默认情况下,活动显示ActionBar。但是,有几个片段按行顺序显示,ActionBar不应显示在这些片段中。对于这些片段,我使用getActivity().getActionBar().hide();隐藏了onCreate代码中的ActionBar。但是,每次加载其中一个片段时,ActionBar会在消失之前暂时在屏幕上闪烁。

如何在片段显示在屏幕上之前使操作栏消失?以下是我用于片段之间事务的代码:

FragmentTransaction transaction = getFragmentManager().beginTransaction();
    transaction.replace(R.id.container, fragment);
    transaction.commitAllowingStateLoss();

1 个答案:

答案 0 :(得分:2)

我建议用两种方法来解决这个问题。

  1. 重新考虑您的活动 - 片段关系,是否应将其拆分为不同的活动,即某些活动带有操作栏,有些活动栏没有操作栏。

  2. 使用工具栏,并删除所有默认操作栏,将工具栏分配给需要它而不是活动的片段。请注意,您没有使用setSupportActionBar(),因为这不是活动布局的一部分。