创建一个在v11中具有额外功能但仍在v7中运行的应用程序

时间:2011-08-17 09:45:26

标签: android compatibility android-3.0-honeycomb

我遇到了这个问题并且一直在对抗它并且在v11 / 3.0 +上运行时无法看到如何在应用程序中使用ActionBar然后在v7 /中使用内部ActionBar 2.1

问题在于,当您使用v11库中的任何标记(例如android:actionBarStyle)或库时,您的应用程序将不再使用低于v11的库进行编译。因此,您将无法在手机上运行它。

然而

我一直在查看Google IO 2011应用程序的来源,它使用v7作为默认库。然而,它被设计为使用ActionBar,因为它具有上面的标记(android:actionBarStyle)。但是因为我的手机上有一个内置版本,并且它有很多代码用于在低于v11的设备上创建一个假的ActionBar,显然它应该能够在两者上构建。

显然,我缺少了这个谜题。如何构建Google IO 2011应用程序?有哪些机制允许您一次开发多个版本?

有人请帮忙。

1 个答案:

答案 0 :(得分:1)

愚蠢的问题来自困惑我自己在三个不同的问题,我正在玩杂耍。

只要android:minSdkVersion文件中的AndroidManifest.xml属性设置为或低于手机版本,

使用v11库构建的应用就可以在手机上快速运行。但是,依赖于后面的库的功能将不起作用。

我认为Google IO 2011应用程序带有默认v7库的原因是我在eclipse中从源代码创建了一个项目 - 我没有导入项目。

(我会在这里写一下 - 因为android.app.Fragmentandroid.support.v4.app.Fragment不兼容,因此如果您打算在v11之前使用Fragments,则为了方便起见,将编写为v11代码的片段代码无法使用1}}。只需要忽略它并从getSupportManager()等中检索钩子。)

所以,我撤回了我的问题:)