我经常需要我的应用程序的不同部分有自己的特殊行为和 UI,我不知道片段如何能够帮助。在大多数情况下,我认为创建两个不同的活动(例如,平板电脑1和手机1) ,并分享共同的行为和事件在第三类更快。
那么,记住这一点,我为什么要使用片段呢?
Google advises you to ALWAYS use Fragments.
为什么? 很简单:
在最简单的情况下,片段被用作活动的容器。
你为什么需要这个? 再说一遍,很简单。
Android4(ICS)同时支持智能手机和平板电脑。这意味着同样的应用程序将运行在智能手机和平板电脑上,它们可能有很大的不同。
平板电脑的大屏幕将是空的或未使用-除非你正确地分配它。
这意味着——将两个片段放在一个活动上,如联系人列表和联系人信息。
智能手机将显示联系人列表,并在触摸屏上显示联系人的信息。
在平板电脑上,用户仍然可以看到列表,并且信息就在列表的旁边。
两个片段-在一个屏幕上... 。
智能? 是的... 应该可以兼容安卓1.6..。
#############################################################
返回文章页面 O.K,已经知道了吗? 译者:
很多事情的工作方式-列表和细节,菜单和子菜单,信息,详细信息和一些更详细的信息。 你想要一种方式来保持平板电脑的自然和平滑,你希望以这种方式预先显示,但不能指望智能手机能像平板电脑那样全部显示出来..。
懂了吗?
要了解更多信息,请查看 < a href = “ http://developer.android.com/guide/subject/basic/Fragments.html”rel = “ norefrer”> this。 我真的觉得你应该明白这个概念..。
在我看来,片段更多的是一种 UI 优势。有时候,用户可以在同一个屏幕上看到两个不同类的两个不同视图,这很方便。如果,在你的创造力时刻,你决定用一个占据一半屏幕的 listView 和一个占据另一半屏幕的 webView 来显示你的应用程序,那么当你点击片段 A 中的一个列表项目时,它会向片段 B 中的 webView 传递一个意图,然后突然你看到你刚刚点击了什么,而没有应用程序切换活动——那么你可以使用片段。这只是我突然想到的一个例子。
Bottom line: Fragments are two or more activities on the screen at the same time.
我在使用片段时看到的 benefits是:
The 缺点 I see are:
因此,当决定使用片段时,我会问自己以下问题:
如果生命周期不同,则可以使用片段更好地处理生命周期。例如,如果您希望销毁片段,但不希望销毁活动。当你有一个 寻呼机适配器寻呼机适配器时,情况就是这样。
如果使用片段,用户输入事件将是可重用的。
如果需要将大对象传递给片段,则需要处理序列化它们的代码。另外,如果需要在片段和活动之间进行通信,则可能需要实现接口。在大多数情况下,这会增加代码库的复杂性。这不是一个差异制造者,而是一个需要考虑的标准。
从历史上看,Android 应用程序中的每个屏幕都是作为一个单独的活动实现的。这给在屏幕之间传递信息带来了挑战,因为 Android 意图机制不允许在 Activity 之间直接传递引用类型(即对象)。相反,对象必须序列化,或者提供全局可访问的引用。
通过使每个屏幕成为一个单独的片段,可以完全避免这种传递数据的麻烦。片段始终存在于给定活动的上下文中,并且始终可以访问该活动。通过在 Activity 中存储感兴趣的信息,每个屏幕的片段可以简单地通过 Activity 访问对象引用。
Https://softwareengineering.stackexchange.com/questions/244771/why-use-android-fragments
片段主要支持更多的动态和大的 UI 屏幕像平板电脑。因为平板电脑屏幕比普通手机大得多。还有更多的空间组合和交换 UI 组件。
Fragment allow such design without the need for such complex change in the View hierarchy.
通过在片段中划分活动布局,我们能够在运行时修改活动的外观