【问题标题】:FrameLayout or Nested Fragments?FrameLayout 还是嵌套片段?
【发布时间】:2013-10-05 08:36:12
【问题描述】:

我的问题

我进退两难了。我有一个片段,它有 3 种不同的模式。嗯,这是一个历史片段。 模式是:

  • 概览(显示GridView);
  • 单元格(显示GridView's单元格);
  • 空(显示ImageViewTextView);

我的问题

所以我不明白如何组织这个。我应该为每个模式使用三个片段(使用嵌套片段)作为父片段的子片段吗?或者只是使用一个带有FrameLayout的片段并在不同的布局之间切换?什么是最好的解决方案?分享你的想法!

非常感谢您的帮助。亚历克斯。附言对不起我的英语:)

【问题讨论】:

    标签: android gridview android-fragments code-organization android-framelayout


    【解决方案1】:

    我会选择多片段方法。它不仅可以帮助您构建可重用的 UI 元素,还可以轻松支持多种屏幕尺寸 (http://developer.android.com/guide/components/fragments.html#Design)。

    但是,我认为您只需要两个片段:一个片段用于“概览”模式,另一个片段用于“单元”模式。

    空模式不需要片段。您应该使用ImageViewTextView 构造一个视图,并将其设置为“概览”片段的GridView 作为emptyView(使用GridView.setEmptyView(View))。

    【讨论】:

    • 好意见!但我的问题有点深:这个片段是附加到 ViewPager 中的,所以我不能只通过 Transaction 替换它。因此,我应该为历史制作某种“父”片段,然后将片段插入其中。但根据 Google 的说法:通常您会希望一个 Fragment 与另一个 Fragment 进行通信,例如根据用户事件更改内容。所有 Fragment 到 Fragment 的通信都是通过关联的 Activity 完成的。两个 Fragment 永远不应该直接通信。 所以我认为嵌套 Fragment 是一个坏主意,而 FrameLayout 是一个好主意。不是吗?
    • 那么,我会在需要时通过主机 Activity 将包含视图寻呼机的父片段替换为单元格片段。所以它将使用多个片段,但不是真正的嵌套片段。
    • 我认为 FrameLayout 目前可能简单且易于实现,但从长远来看,多个片段在可重用性和可维护性方面会给您带来更多好处。
    • 好的。我得到了它。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多