模式何时使用活动过渡与动态碎片

AGr*_*ald 16 android android-layout android-fragments android-3.0-honeycomb android-activity

有没有关于如何处理Android活动与片段中的UI转换的模式?我目前正在寻找一个在Landscape中最多有3列的UI.我希望用户界面从屏幕上的1列开始,然后在第二列中选择移动的内容,然后在平板电脑和手机上点击第3个第二个淡入淡出的内容并淡出第1列在手机上.我想知道什么时候我应该这样做作为一个活动过渡,当我应该使用片段与出现的视图.据我所知,片段可以转移到其他活动,所以我的选择是实现具有静态列布局的活动,然后转换将片段与它们一起使用,或者让一个Activity包含所有3列,并让Activity管理出现的片段.这两种方法都可行,但我对两种解决方案的多种角度都有利有弊.

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

Ale*_*cas 12

片段可能看起来像前面的代码更多(因为你在一个片段中放置一个视图,在Activity中放置一个片段,而不仅仅是一个Activity中的一个视图),但是它们可以很好地帮助你摆脱困境一种情况 - 绝对与碎片一起去.他们甚至为您处理过渡.

我们有一些名为"Honeycomb Gallery"的示例代码,您可以在这里查看,它具有两列加动作栏布局,并能够显示/隐藏最左侧的列.这应该为您提供一个良好的开端,以确定如何为多个片段进行布局并显示/隐藏它们.

仅供参考,在活动而不是多个活动中使用多个片段的一个重要权衡是片段不直接响应意图 - 例如,如果你有一个笔记记录应用,其中"查看注释"页面是一个活动,你改变它,以便在主Activity中有一个"查看注释"片段,然后你必须设置它,使得主Activity收到一个注释ID和一个注释动作(创建,查看,编辑,等等) )在Intent中,而不是让"view note"活动在Intent中接收注释ID.然后,主Activity需要相应地在页面上设置片段.这并不是什么大问题,但如果通过Intent对应用程序的各个部分进行外部访问非常重要,那么将应用程序分解为几个活动可能更容易,并且使用片段来表示各个组件.