本文介绍了Support V4包中TransportMediator、ViewPager等组件的使用。
Fragment
框架Fragment的静态支持类库版本。用于兼容Android 3.0之前的版本。当运行在Android 3.0及之后的版本,还会使用这个实现;它不会切换到框架的实现。查看框架Fragment文档。
当使用这个支持版本而不是框架的版本最大的不同是:
- activity必须继承FragmentActivity
- 必须调用getSupportFragmentManager()获取FragmentManager
DrawableCompat
API4引入的用向后兼容的方式帮助访问Drawable的特性。
CursorLoader
框架CursorLoader的静态支持类库版本。用于兼容Android 3.0之前的版本。当运行在Android 3.0及之后的版本,还会使用这个实现;它不会切换到框架的实现。类概览请查看框架SDK文档。
TransportController之TransportMediator
帮助实现媒体传输控制(播放,暂停,跳过和其它功能)。控制关键事件和高级功能就像RemoteControlClient。这个类在传输控制(在屏幕上控制,实体按键,远程控制)和实际的播放器之间作为中介服务。播放器通过一个单独的TransportPerformer表现,必须提供这个类。在屏幕想要控制和显示播放器的状态应该调用TransportController接口。
这有一个简单但很完整的视频播放器的例子。注意这里用到的MediaController类没有包含在标准的Android框架中,而是一个自定义的实现。真正的应用通常实现自己的传输控制,或者你可以复制Support4Demos中的实现。
1 | import android.support.v4.media.TransportMediator; |
BidiFormatter
用于可能反向显示格式化文本的实用类。
ViewPager
布局管理器允许用户左右翻动查看页面数据。提供PagerAdapter的实现生成显示view的页面。
注意这个类目前为早期的设计和开发。API很可能在后面的兼容库更新中修改,当使用新版本编译时需要修改应用的源码。
ViewPager经常和Fragment配合使用,这是一种很方便的方法对于提供和管理每个页面的生命周期。这有一个标准的使用fragment和ViewPager的adapter的实现,覆盖了最常见的情况。这有FragmentPagerAdapter 和 FragmentStatePagerAdapter两个类;每个类都有怎样使用它们构建用户界面的示例代码。
更多关于怎样使用ViewPager的信息,阅读 Creating Swipe Views with Tabs。
下面是一个ViewPager的更复杂的例子,使用它和ActionBar进行关联。你可以在API 4+ Support Demos 和 API 13+ Support Demos的示例代码中找到其它使用ViewPager的例子。
1 | public class ActionBarTabsPager extends Activity { |
从Android SDK目录可找到源码,或从这里下载