0

我正在尝试通过使用 AppCompat 库来支持低至 API 级别 9 的设备。我正在尝试使用 Google 的示例主题为 ActionBar 设置主题,但它一直告诉我任何名为 android:action* 的项目requires API level 11 (current min is 9)。我的目标是 18。如果我直接使用示例中的内容,为什么会损坏?谁能帮我弄清楚如何使用 API 级别 9 的 AppCompat 库为 ActionBar 设置主题?

4

3 回答 3

0

您尝试使用的功能仅从 API 11 开始可用。您将无法在 API 级别 9 的设备中使用。

需要 API 级别 11(当前最低为 9)

您可以在 Android 3.0 及更高版本的设备上运行该示例,但为此您必须将您的 Manifest 文件 minSdkVersion 更改为至少 11。

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="18" />
于 2013-10-03T20:37:48.677 回答
0

尝试删除所有带有的项目,android:action*只留下带有action*(没有android命名空间)的项目。

这对我有用,但我从这个美妙的动作栏样式生成器中获得了我的风格:http: //jgilfelt.github.io/android-actionbarstylegenerator/

于 2013-10-03T21:21:54.823 回答
0

这些android:action*项目仅适用于 API 11 及更高版本。为了支持不同的 API 级别,Android 包含各种values目录。如果您查看项目的文件夹结构,您很可能会看到目录res/valuesres/values-11也许还有其他一些目录。正如您可能已经猜到的那样,11API 11 的代表,这意味着仅在 API 11 及更高版本中可用的主题应包含在此处。该values目录是您的基础目录。

因此,对于您的示例,您需要将主题文件分成两个不同的文件。包含的部分android:action*应该在文件values-11夹中的主题文件中,其他部分可以保留在基本values文件夹中。Android 会自动选择合适的主题。

你真的应该阅读这篇文章,尤其是靠近底部的关于应用主题的部分。它讨论了如何将主题应用于不同的 API 级别。

于 2013-10-03T21:35:29.040 回答