【问题标题】:Is it fine to use LinearLayout instead of FrameLayout?使用 LinearLayout 代替 FrameLayout 可以吗?
【发布时间】:2016-04-05 01:55:20
【问题描述】:

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

但是,我知道我仍然可以使用 LinearLayout 作为片段的父容器,并且它工作得非常好(到目前为止)。

我的问题,不使用FrameLayout 作为片段布局的父容器有什么副作用吗?

如果没有,那么使用FrameLayout 相对于LinearLayout(或其他可能的布局)作为片段布局的父容器有什么优势。

【问题讨论】:

  • 你能把你使用FrameLayoutLinearLayout的代码贴出来
  • 你应该改一下标题,上面写着fragmentlayout...

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


【解决方案1】:

Fragments 本身就像任何View 一样呈现,因此您可以根据您希望布局的外观使用您想要的任何父ViewGroup。这意味着 LinearLayoutFrameLayoutFragments 没有任何固有的优势。

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

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

【讨论】:

  • 这是一个简单而完美的答案。
【解决方案2】:

FrameLayout比LinearLayout和RelativeLayout效率更高。因为它是最简单的基础布局,子布局之间没有关联。 FrameLayout适用于stack-up view,常与ScrollView配合使用。

【讨论】:

    【解决方案3】:

    完全没问题。您可以使用。但是,总的来说:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-09
      • 2019-08-10
      • 1970-01-01
      • 2012-08-11
      • 2022-01-23
      • 2015-08-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多