【问题标题】:What's the difference between changing two fragments with FragmentManager and two views with ViewSwitcher?使用 FragmentManager 更改两个片段和使用 ViewSwitcher 更改两个视图有什么区别?
【发布时间】:2015-06-02 19:38:21
【问题描述】:

何时选择使用两个片段并在活动中用另一个替换一个(或另一个片段中的子片段)或使用两个视图并使用 ViewSwitcher(或 ViewFlipper)更改它们?

例如,在加载数据时,我使用加载视图,然后我想切换到主视图。

【问题讨论】:

    标签: android android-fragments viewswitcher fragmentmanager


    【解决方案1】:

    这实际上取决于您的应用程序结构。 ViewSwitcher 可能会起作用,但可能不是最好的方法。您可以做的另一个选择是根本不做片段,只需更改活动的内容,而是在加载完成后再次使用主视图的布局资源调用setContentView(int)

    【讨论】:

    • 那么当一个 ViewSwitcher 是合适的?
    【解决方案2】:

    我以前从未使用过 ViewSwitcher。我阅读了课堂上的文档。而且我认为 ViewSwitcher 适合在 2 个不同的视图或布局之间切换,只有 2 个。超过 2 个,你必须创建另一个 ViewSwitcher。我看到 ViewSwitcher 的好处是:

    1. 所有视图(最多只有 2 个)及其对象都保存在内存中。所以速度很快。
    2. 它是为了快速,因为它扩展了 ViewAnimator,专为动画制作。

    现在是 Fragments...它通常被像我这样的开发人员使用。它对管理许多(不仅仅是 2 个)布局有很好的支持。在 FragmentManager 的帮助下,您可以添加、替换或搜索片段。片段的好处是:

    1. UI 管理功能强大。
    2. Android 框架和系统将管理内存以允许其他应用程序运行。作为警告,这可能是使用 Fragments 和处理内存中的对象时出现的问题。
    3. 它的内存效率很高,我认为它非常快。编码片段可能是一个更大的问题。但是,由于有很多开发人员使用它,因此您在 SO 社区和 Internet 中得到了很多支持,就像我一样。

    祝你好运,玩得开心 Android :-)

    【讨论】:

      猜你喜欢
      • 2015-02-01
      • 1970-01-01
      • 2011-04-30
      • 2016-04-04
      • 2021-01-06
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      • 2013-03-29
      相关资源
      最近更新 更多