隐藏片段后如何避免清空space
How to avoid emptying space after hiding a fragment
我想在完成当前步骤后向用户显示下一步。为此,我正在使用片段。所以我在完成第一个任务时隐藏 window 的下一个区域,但是当我隐藏一个片段并显示下一个片段时,它占据了两个片段网的所有区域。如何避免这种情况?
隐藏片段的代码如下:
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();
像这样包裹在其他布局中:
<LinearLayout>
<Fragment>
</Fragment>
</LinearLayout>
并设置linearlayout.setvisibility(1)
我这样做了,它正在工作,但这真的是一种好的编程方式吗?
更好的方法是将 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();
我想在完成当前步骤后向用户显示下一步。为此,我正在使用片段。所以我在完成第一个任务时隐藏 window 的下一个区域,但是当我隐藏一个片段并显示下一个片段时,它占据了两个片段网的所有区域。如何避免这种情况?
隐藏片段的代码如下:
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();
像这样包裹在其他布局中:
<LinearLayout>
<Fragment>
</Fragment>
</LinearLayout>
并设置linearlayout.setvisibility(1)
我这样做了,它正在工作,但这真的是一种好的编程方式吗?
更好的方法是将 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();