我正在构建一个包含两个片段的活动MainActivity
的应用程序。我遇到了许多使用FrameLayout
作为片段布局的父容器的教程。
然而,我开始知道我仍然可以使用LinearLayout
作为片段的父容器,它完全正常(到目前为止)。
我的问题是,是否存在不使用FrameLayout
作为片段布局的父容器的副作用?
如果没有,那么使用FrameLayout
而不是LinearLayout
(或其他可能的布局)作为片段布局的父容器有什么好处。
答案 0 :(得分:7)
Fragments
本身就像任何View
一样呈现,因此您可以使用您想要的任何父ViewGroup
,具体取决于您希望布局的外观。这意味着LinearLayout
与FrameLayout
没有任何固有的好处与Fragments
相关联。
FrameLayout
和LinearLayout
之间的主要区别在于Views
内的FrameLayout
堆栈。
换句话说,如果您希望Fragments
可能重叠,请使用FrameLayout
。如果您希望它们线性显示,请使用LinearLayout
。如果它是全屏Fragment
,那么您选择的内容可能并不重要。
答案 1 :(得分:5)
FrameLayout比LinearLayout和RelativeLayout更有效。因为它是最简单的基本布局,并且子布局之间没有关联。 FrameLayout适用于堆叠视图,通常与ScrollView一起使用。
答案 2 :(得分:2)
非常好。您可以使用。但是,总的来说:
LinearLayout 用于垂直或水平对齐视图。这样可以相应地安排多个子视图。
FrameLayout 用于将视图加载到另一个之上。所以FrameLayout
用于保存单个子视图,因为很难在FrameLayout
中管理多个视图。对于Ex。如果您想使用单CardView
,则FrameLayout
是完美的。