繁体   English   中英

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

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

我将简要描述我的应用程序布局。 有一个Activity,里面是一个FrameLayout,里面有一个RelativeLayout(这个RelativeLayout里面还有一些其他的小部件),它的尺寸设置为'Match Parent'。 在 MainActivity 中,我进行了片段事务,将 FrameLayout 替换为片段。

Activity 和 Fragment 之间的共同点是它们的顶部都有一个选项卡菜单。 现在,当 Fragment 替换 FrameLayout 时,Fragment 的 Tab Menu 应该会替换 Activity 的 Tab Menu(FrameLayout 设置为 Match Parent 尺寸)。 但是,这不会发生。

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

这是非常令人困惑的。 我错过了什么吗?

当从activity移动到Fragment时,需要在activity的views上设置View.Gone来实现想要的view。

您可以像这样删除活动视图。

在Activity中,在进行Fragment Transaction之前,

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM