我的应用程序包含一个包含多个片段的活动。默认情况下,活动显示ActionBar。但是,有几个片段按行顺序显示,ActionBar不应显示在这些片段中。对于这些片段,我使用getActivity().getActionBar().hide();
隐藏了onCreate代码中的ActionBar。但是,每次加载其中一个片段时,ActionBar会在消失之前暂时在屏幕上闪烁。
如何在片段显示在屏幕上之前使操作栏消失?以下是我用于片段之间事务的代码:
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.container, fragment);
transaction.commitAllowingStateLoss();
答案 0 :(得分:2)
我建议用两种方法来解决这个问题。
重新考虑您的活动 - 片段关系,是否应将其拆分为不同的活动,即某些活动带有操作栏,有些活动栏没有操作栏。
使用工具栏,并删除所有默认操作栏,将工具栏分配给需要它而不是活动的片段。请注意,您没有使用setSupportActionBar(),因为这不是活动布局的一部分。