如何避免隐藏片段后清空空间

时间:2015-03-24 10:54:53

标签: android fragment hide show

我想在完成当前步骤后向用户显示下一步。为此,我使用片段。所以我在完成第一个任务时隐藏了窗口的下一个区域,但是当我隐藏一个片段并显示下一个片段时,它会占用两个碎片的所有区域。怎么避免这个?

隐藏片段的代码如下:

FragmentTransaction ft = getFragmentManager().beginTransaction();
        ft.setCustomAnimations(android.R.animator.fade_in,
                android.R.animator.fade_out);
        if(flag == 1){
            ft.show(fragment);
        }else ft.hide(fragment);

        ft.commit();

2 个答案:

答案 0 :(得分:0)

包装在其他布局中,如:

<LinearLayout>
  <Fragment>
  </Fragment>
</LinearLayout>

并设置linearlayout.setvisibility(1)

我做了这个并且它正在工作,但它真的是一个很好的编程方式吗?

答案 1 :(得分:0)

更好的方法是将FirstFragment替换为SecondFragment,如下所示:

SecondFragment secondFragment= new SecondFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);
ft.replace(R.id.yourlayout, secondFragment).commit();