模式何时使用活动转换与dynamic片段

有没有任何模式,如何处理Android的活动与碎片的UI转换? 我目前正在寻找一个最多有3列横向的用户界面。 我希望用户界面从屏幕上的1列开始,然后在第二列中select某些内容,然后在平板电脑和手机上的第二次淡出中点击某个内容,然后淡出第一列在手机上。 我想知道什么时候我应该做一个活动转换,当我应该使用Fragments与视图的出现。 据我已阅读片段可以移动到其他活动,所以我的select要么是实施活动与静态列布局,然后过渡采取片段与他们或有一个活动与所有3列,并有活动pipe理出现的片段。 这两种方法都可以工作,但是我从两个解决scheme的许多angular度对利弊感兴趣。

有两个类似于我所问的问题,但不完全回答我的问题

  • 两个面板UI与片段vs独立的活动
  • Android Honeycomb:布局问题 – 隐藏/显示FrameLayouts

Solutions Collecting From Web of "模式何时使用活动转换与dynamic片段"

碎片可能看起来像更多的代码(因为你在一个片段中放置一个视图,在一个活动中放置一个片段,而不是在一个活动中的一个视图),但他们很好,在这个节省你的头痛种类的情况 – 肯定会与碎片。 他们甚至为你处理过渡。

我们有一些名为“Honeycomb Gallery”的示例代码,你可以在这里看看,它有一个两列加操作栏布局,以及显示/隐藏最左列的能力。 这应该给你一个良好的开端,找出如何做多个片段的布局和显示/隐藏它们。

仅供参考,在活动中使用多个片段(而不是多个活动)的一个重要折衷scheme是片段不直接响应意图 – 例如,如果您有“记事本”页面为“活动” ,然后你改变它,这样在主Activity中就有一个“view note”Fragment,那么你必须设置它,这样主活动收到一个音符ID和一个音符动作(创build,查看,编辑, )在意图,而不是只有“观看票据”活动收到的意图笔记ID。 主Activity将需要相应地在页面上设置片段。 这不是一个大问题,但是如果通过Intent对应用程序的各个部分进行外部访问非常重要,那么将应用程序分解成几个活动,以及使用片段来表示各个组件可能会更容易。

根据页面Android 3.0 Fragments API ,一个Activity是独立的,而一个片段可以作为一个mini-Activity,它必须被托pipe在一个实际的Activity中。

它继续说,Fragment API的推出为Android开发人员提供了解决开发人员碰到的许多难题的机会,所以在Android 3.0中,Fragment的实用性远远超出了对不同屏幕的调整:

我认为,为一个应用程序使用一个单一的活动不一定是一个错误的决定,只是一个风格问题。 这是一个决定,你应该根据你想要完成的。

然而,碎片的引入被认为是解决现实世界的问题。 基于这一点,我build议您编写一些“概念validation”代码并评估结果。 在这个时候,这可能是唯一真正的世界testing,将是重要的

全屏使用活动

使用碎片部分或不使用屏幕(但不是服务)

在我的主应用程序中,有一个水平滚动视图中的屏幕标签,我想要在应用程序的多个部分中保留。 部分包括新闻,照片,video,时间表等所有单用户可对焦的任务。

容纳这一切的主要应用程序是一个应用程序,这些标签只是一个调用片段pipe理器的视图。

不过,我在应用程序中使用活动来处理更复杂的用户活动。 例如,如果有人播放video,请查看项目详细信息页面和照片库/幻灯片部分,因为它们都是全屏组件。

当转换到全屏模式时,不需要显示/隐藏片段,因为活动堆栈可以快速方便地处理您想要的任何操作,并且让您的代码最小化和干净。

所以我有活动 – >房屋碎片 – >启动全屏活动的特殊命令。