Android Fragment - 添加并带到前面

时间:2017-03-22 14:56:38

标签: android fragment fragmenttransaction

我想要实现的目标应该非常简单,但我无法找到解决问题的方法。

我有片段A.当点击片段A的按钮时,会显示片段B:

@Override
public void onClick(View v) {
    Fragment fragment = new PostMeasurementFragment();
    FragmentTransaction fragmentTransaction = ((PostActivity)context).getSupportFragmentManager().beginTransaction();
    fragmentTransaction.addToBackStack(null);
    fragmentTransaction.add(R.id.post_container, fragment, "PostMeasurementFragment");
    fragmentTransaction.commit();
}
片段B具有透明背景,所以我希望片段A在片段B后面可见。如果我使用.replace而不是.add,我只能看到片段B,这是有意义的,因为片段A被删除了.replace方法。当我使用.add时我看不到片段B但我知道它是因为.addToBackStack:我需要单击后退按钮两次以摆脱片段A,这让我第一次点击就是退出片段B我看不到。

考虑到这一点,我相信片段B被添加到片段A的后面(或者如果你认为它是一堆),是否有可能将它带到前面?

1 个答案:

答案 0 :(得分:1)

将片段B膨胀到片段A(例如FrameLayout)布局中的视图中,其中视图的高度设置为wrap_content,片段的视图将填充所需的任何大小。在构建FragmentTransaction时使用add()