用 Fragment 替换 Activity 中的 FrameLayout 不会替换整个 FrameLayout

Replacing FrameLayout in Activity by a Fragment does not replace the whole FrameLayout

我将简要说明我的应用程序布局。有一个 Activity,里面是一个 FrameLayout 包裹着一个 RelativeLayout(这个 RelativeLayout 里面还有一些其他的 widget),它的尺寸设置为 'Match Parent'。在 MainActivity 中,我做了一个片段事务,用片段替换了那个 FrameLayout。

Activity 和 Fragment 之间的共同点是它们的顶部都有一个选项卡菜单。现在,当 Fragment 替换 FrameLayout 时,Fragment 的选项卡菜单应该替换 Activity 的选项卡菜单(FrameLayout 设置为匹配父尺寸)。 然而,这并没有发生。

只有Fragment中的RecyclerView显示在Activity的RecyclerView上方(我在Activity和Fragment中各有一个RecyclerView)。选项卡菜单与 Activity.

的相同

这很令人费解。 我错过了什么吗?

从activity移动到Fragment时,您需要在activity的视图上设置View.Gone以实现所需的视图。

您可以删除这样的 activity 个视图。

在Activity,进行分片交易前,

   //whatever view you want to remove//.setVisibility(View.GONE) 

从片段返回到 Activity 时,您应该将视图的可见性设置回可见。