我们为什么要使用FrameLayout作为FragmentTransaction的片段容器?

时间:2017-12-31 07:06:35

标签: android fragment

当我阅读有关支持Android不同屏幕尺寸的教程时,他们经常使用FrameLayout作为FragmentTransaction使用的片段的占位符。像这样:

getSupportFragmentMananager().beginTransaction()
.replace(R.id.frame_layout, fragment)

那么我们为什么要使用FrameLayout?使用FrameLayout作为片段容器时有什么优点或缺点吗? (我已经尝试将RelativeLayout作为片段容器,而且它仍然运行良好)。我是新手,所以我希望得到一个明确而彻底的答案。

编辑:我已阅读您提供的问题链接中的答案(可能重复)。但是,它缺乏明确的例子。我真的想要一个简单的例子来演示为什么我应该使用FrameLayout而不是其他布局类型。

1 个答案:

答案 0 :(得分:2)

为了补充上一个答案,真正的asnwer就是这样,当您使用片段事务时,通常需要将片段添加到布局中的已保存点以供显示。您基本上希望看到这一个视图显示,FrameLayout是规范性首选项的原因直接与设计目的相关联。简单地说,所有其他布局主要用于多子包含。 FrameLayout可以更有效地处理单个子节点,因为除了重力分配之外没有特定的顺序。