是否可以使用LinearLayout而不是FrameLayout?

时间:2015-12-31 03:22:18

标签: android android-layout android-linearlayout android-framelayout

我正在构建一个包含两个片段的活动MainActivity的应用程序。我遇到了许多使用FrameLayout作为片段布局的父容器的教程。

然而,我开始知道我仍然可以使用LinearLayout作为片段的父容器,它完全正常(到目前为止)。

我的问题是,是否存在不使用FrameLayout作为片段布局的父容器的副作用?

如果没有,那么使用FrameLayout而不是LinearLayout(或其他可能的布局)作为片段布局的父容器有什么好处。

3 个答案:

答案 0 :(得分:7)

Fragments本身就像任何View一样呈现,因此您可以使用您想要的任何父ViewGroup,具体取决于您希望布局的外观。这意味着LinearLayoutFrameLayout没有任何固有的好处与Fragments相关联。

FrameLayoutLinearLayout之间的主要区别在于Views内的FrameLayout堆栈。

换句话说,如果您希望Fragments可能重叠,请使用FrameLayout。如果您希望它们线性显示,请使用LinearLayout。如果它是全屏Fragment,那么您选择的内容可能并不重要。

答案 1 :(得分:5)

FrameLayout比LinearLayout和RelativeLayout更有效。因为它是最简单的基本布局,并且子布局之间没有关联。 FrameLayout适用于堆叠视图,通常与ScrollView一起使用。

答案 2 :(得分:2)

非常好。您可以使用。但是,总的来说:

LinearLayout 用于垂直或水平对齐视图。这样可以相应地安排多个子视图。

FrameLayout 用于将视图加载到另一个之上。所以FrameLayout用于保存单个子视图,因为很难在FrameLayout中管理多个视图。对于Ex。如果您想使用单CardView,则FrameLayout是完美的。