4用碎片构建一个动态的用户界面
要在Android上创建一个动态的和多面板(multi-pane)的用户界面,你需要把UI组件和活动行为封装成模块,让模块可以添加到或者抽离你的各个活动。您可以使用碎片(Fragment)类创建这些模块,这行为有点像一个嵌套的活动,可以定义自己的布局和管理自己的生命周期。
当一个碎片指定它自己的布局,它可以与活动内的其他碎片用不同的组合进行配置,来为不同的屏幕尺寸修改您的布局配置(小的屏幕可能会一次显示一个碎片,但一个大屏幕可以显示两个或更多)。
这个课程,向你展示如何使用碎片创建一个动态的用户体验,为不同屏幕尺寸的设备优化您的应用程序的用户体验,同时全部继续支持运行低至Android1.6版本的设备。
课程
使用Android支持库(Android Support Library)
了解如何通过捆绑Android支持库到您的应用程序,在早期版本的Android使用最新的框架API。
了解如何构建一个碎片以及在其回调方法中实现基本的行为。
了解如何使用为不同的屏幕提供不同的碎片配置的布局构建您的应用程序。
了解如何设置从碎片到活动和其他碎片的通信路径。
4.1 使用支持库
Android的支持库提供了一个API库的JAR文件,它可让您的应用程序在早期版本的Android上运行时,使用一些最新的Android的API。例如,支持库提供了碎片的一个版本,您可以在Android 1.6(API 4级)和较高的版本中使用它。
这节课展示如何使用支持库设置您的应用程序,来使用碎片建立一个动态的应用程序UI。
用支持库设置项目
图1。选中Android支持包的Android SDK管理器。
要设置项目:
1. 使用SDK管理器下载Android支持包。
2. 在你的Android项目的根级别创建一个libs
目录。
3. 找到您要使用的JAR库文件,并将其复制到lib/
目录。
例如,支持API级别4的
库位于
<sdk>/extras/android/support/v4/android-support-v4.jar
。
4. 更新manifest文件设置最低API级别为4
和目标API级别为最新版本:
<uses-sdkandroid:minSdkVersion="4"android:targetSdkVersion="15"/>
导入支持库API
支持库包括在最新版本的Android中添加或平台中根本不存在的各种API,它只是在你开发特定应用程序功能时给你提供额外的支持。
你可以在android.support.v4。*的平台文档中找到支持库的所有API参考文档。
警告:确保你没有意外地在旧系统版本上使用新的API,保证你从android.support.v4.app 包导入的Fragment类和相关API:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
...
在使用支持库创建活动来承载碎片时,你还必须扩展(extend)FragmentActivity类,而不是传统的Activity类。在下一课中,你会看到片段和活动的示例代码。