使用FragmentManager更改两个片段和使用ViewSwitcher更改两个视图之间的区别是什么?

时间:2015-06-02 19:38:22

标签: android android-fragments viewswitcher fragmentmanager

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

例如,在加载数据时,我使用加载视图,然后我想更改为主视图。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

  1. 所有视图(最多只有2个)及其对象都保存在内存中。所以它很快。
  2. 它意味着快速,因为它扩展了为动画制作的ViewAnimator。
  3. 现在对于片段......像我这样的开发人员经常使用它。它对管理许多(不仅仅是2个)布局有很好的支持。在FragmentManager的帮助下,您可以添加,替换或搜索片段。片段的好处是:

    1. 用户界面的管理非常强大。
    2. Android框架和系统将管理内存以允许其他应用程序运行。作为警告,这可能是使用Fragments和处理内存中对象的问题。
    3. 它具有内存效率,我认为它非常快。编码片段可能更成问题。但是,由于很多开发人员都使用它,所以在SO社区和Internet上都有很多支持,比如我。
    4. 祝你好运,玩得开心: - )