使用v7 appcompat库实现Android的反向兼容性

3

我在Eclipse中创建了一个新的Android项目,并进行了以下配置:

Minimum required SDK: API 7
Target SDK: API 18
Compile with: API 18
Theme: Holo Light

所以,我的应用程序有一个操作栏。 Eclipse 自动只包含了 android-support-v4.jar。
但是,由于 ActionBar 类被包括在支持库中,以与 API 级别 7 及更高版本兼容。 我在想为什么我的项目只包括 android-support-v4 库。
我猜如果我不包括 v7 appcompat 库,我可以继续显示我的应用程序中的操作栏,但我无法使用 ActionBar API 进行管理或自定义。这是正确的吗?

v7 appcompat库不会自动包含,因为您可以选择是否将资源链接到它:http://developer.android.com/tools/support-library/setup.html(添加支持库)。如果您仍希望向后兼容,您需要v7来使用和自定义ActionBar。 - Jumpa
3个回答

1

你需要了解一些非常基本的事情。

1) 支持库旨在支持以前版本的功能。您需要手动设置项目(添加构建路径等)才能使用支持库。

2) 如果您在此情况下不使用支持库v7,则可以显示操作栏,可以自定义它,并执行版本(3.0)ActionBar支持的任何操作。

3) 如果您想在假设的Api级别8/7(2.2/2.1)中显示操作栏,则必须使用支持库v7。 这是如何创建操作栏并支持较低版本的方法

请不要忘记使用/导入支持库中的类/API,而不是SDK中的类。 教程足够简单易懂。


1

那么,如果我将最低所需的SDK设置为7,如果我使用Holo Light主题并且不包括支持库v7,Eclipse不会给我任何错误吗? - GVillani82
@Joseph82,你是在哪个版本上进行测试的?http://android-developers.blogspot.in/2012/01/holo-everywhere.html。 - Raghunandan
我猜如果你在Eclipse中设置了Lint,它应该会警告你相同的问题。在这里检查列表:http://tools.android.com/tips/lint-checks - Raghunandan
@Joseph82 如果你想支持3.0之前的操作栏,你也可以使用actionbarsherlock库。 - Raghunandan
我认识@Raghunandan。但我想要学习它 :) 我已经使用过ActionBarSherlock。 - GVillani82
显示剩余5条评论

0

1) 支持库旨在支持先前版本中的功能 并添加仅存在于这些库中的功能。您需要手动设置项目(如在构建路径中添加)以使用支持库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接