我之前提到fragment,本质上是可重用的UI,类似于布局或视图组。它们可以根据屏幕尺寸进行不同的排列。它们通常用于创建单窗格和多窗格布局,这取决于对给定屏幕大小来说哪种最有效。例如,这是Gmail应用,其中包含了一系列电子邮件以及它们显示在不同手机屏幕上的不同内容。但是在在平板电脑上,电子邮件列表和内容并列显示,因为有足够的空间同时显示它们两个。所以Gmail应用的布局根据Android设备的屏幕大小而改变。无论是小的手机屏幕还是大的平板电脑屏幕。它使用fragment来定义每个布局。并有效地使用屏幕空间,以使所有内容都清晰可读。许多天气应用也是如此,它们通常有一列日期和对应的详细视图。而这些在手机和平板电脑的屏幕上以不同的布局显示。联系人应用和许多其他例子都是如此。手机屏幕会对信息列表和详细内容视图分别使用单独的Activity。而平板电脑并排显示这些视图。事实上,这个模式非常常见,人们还给他起了个名字,叫做“主/次流”(Master Detail Flow)。其中主项目列表——像联系人姓名或电子邮件会占用整个手机屏幕,但只会占据平板电脑屏幕的左侧部分。而详细内容窗格通常会显示主列表中所选项目的详细信息。会作为一个单独的Activity占用整个手机屏幕但仅占较大的平板电脑屏幕的右侧部分。这是我们将为AndroidMe应用实现的模式。其中包含显示所有自定义android图像的主列表的fragment以及显示android的详细全身图像部分的fragment。然后我们根据设备屏幕的大小。将它们排列在单窗格和多窗格布局中。那么我们如何构建这样的东西呢?要在平板电脑上实现这一点,我们将有一个主Activity包含我们的主列表fragment即我们将从中进行选择的所有图像的主列表。然后在屏幕的右侧我们将共有三个身体部分fragment,包括我们要构建的android的头部,身体和腿部。而在手机上,我们会将主列表fragment和身体部分fragment放在两个单独的activity中。并使每个占用手机的整个区域。我们会清楚的顺次看到每一个,要完成此应用,你将获得一些初始代码以及一些任务。来帮助你构建最终UI。接下来我们将详细讲解为什么要使用fragment而不是简单的视图组。然后进入代码部分。Implementing Descendent Navigation.