使用和版本关联的组件

作者: rain 分类: 移动 发布时间: 2012-04-20 19:58 6 条评论

这节内容介绍如何添加选择不同实现的逻辑以及如何在对应的版本中选择对应的实现方式,如何创建版本感知的布局。

添加选择逻辑

TabHelper 抽象类作为
factory工厂方法类来创建版本相关的
TabHelperCompatTab 实例。

创建一个版本感知的Activity Layout

然后是创建一个支持两种tab实现的布局。对于旧的实现方式 (TabHelperEclair),布局中包含 TabWidgetTabHost
,和一个包含tab的容器:

res/layout/main.xml:

而对于 TabHelperHoneycomb 实现,需要使用 FrameLayout 作为tab的容器。

res/layout-v11/main.xml:

在程序运行的时候, Android会根据系统的版本来选择对应的main.xml 布局文件。
和前面用来选择TabHelper 实现的逻辑是一样的。

在Activity中使用 TabHelper

在activity的 onCreate()
函数中,创建一个TabHelper 对象:

当运行程序的时候,系统选择正确的布局文件并实例化对应的 TabHelperHoneycomb 实现或者 TabHelperEclair实现。由于 TabHelper
的存在,隔离了activity对每个实现的感知。

下面是运行在 Android 2.3 和 Android 4.0 中的截图。

     

本文出自 云在千峰,转载时请注明出处及相应链接。

本文永久链接: http://blog.chengyunfeng.com/?p=405

Ɣ回顶部