我想知道android-support-v4.jar 和android-support-v7-appcompat.jar之间的区别。如果我想在我的应用程序中添加 appcompat 操作栏,我需要同时添加android-support-v7-appcompat.jar和android-support-v4.jar还是只添加android-support-v7-appcompat.jar。
另外,android-support-v13.jar有 appcompat 吗?
我想知道android-support-v4.jar 和android-support-v7-appcompat.jar之间的区别。如果我想在我的应用程序中添加 appcompat 操作栏,我需要同时添加android-support-v7-appcompat.jar和android-support-v4.jar还是只添加android-support-v7-appcompat.jar。
另外,android-support-v13.jar有 appcompat 吗?
UPDATE
There are many changes done into support library since this question was answered. Good thing is, it is very well documented also. So you must read Support Library Documentation for more details and more available support library.
Starting with Support Library release 26.0.0 (July 2017), the minimum supported API level across most support libraries has increased to Android 4.0 (API level 14) for most library packages.
Below is difference from Support Library Packages:
v4 Support Library
This library is designed to be used with
Android 1.6 (API level 4)Android 2.3 (API level 9)Android 4.0 (API level 14) and higher. It includes the largest set of APIs compared to the other libraries, including support for application components, user interface features, accessibility, data handling, network connectivity, and programming utilities.v7 Libraries
There are several libraries designed to be used with
Android 2.1 (API level 7)Android 2.3 (API level 9)Android 4.0 (API level 14) and higher. These libraries provide specific feature sets and can be included in your application independently from each other.v7 appcompat library
This library adds support for the Action Bar user interface design pattern.
Note: This library depends on the v4 Support Library. If you are using Ant or Eclipse, make sure you include the v4 Support Library as part of this library's classpath.
So yes you need both jars if you want to use v7.
Update for android-support-v13.jar
This interface was deprecated in API level 27.1.0. Use Fragment instead of the framework Fragment.
v13 Support Library
This library is designed to be used for Android 3.2 (API level 13) and higher. It adds support for the Fragment user interface pattern with the (FragmentCompat) class and additional fragment support classes
When you see the package details it has a class FragmentCompat as given in definition. So it has not the all classes of appcompat library.
支持库是代码库(类的集合),它使新添加的功能可以与旧设备一起使用。
例如,材料设计是在 API 21 (Android 5.0 - Lolipop) 中引入的,但
v7 -support 库使其可用于 API 7 (Android 2.1.x -Eclair) 及更高版本。
一些主要的支持库是
V4 支持库
V7 支持库
V8 支持库
v13 支持库
这意味着该库具有设计用于 API 级别 7 及更高级别的功能。V4 也是如此(包含适用于 API 4 及更高版本的功能)等等。
包括我在内的很少有人对这两个术语感到困惑。实际上,v7 appcompat 库是 v7 Support 库的一部分。v7 支持库主要用于支持 API 7 及更高版本的 Material 设计和 ActionBar 设计模式。
V7可以分为更多的子类别
v7 appcompat 库
v7 cardView 库
v7 recyclerView 库
v7 托盘库等
v7 appcompat 库具有以下关键类 ActionBar、ActionBarActivity、ShareActionProvider。
所以添加,
com.android.support:appcompat-v7:21.0.+
gradle 文件中的依赖项,导入上述类。
其他支持库
Multidex 支持库(用于创建具有超过 65k 方法的应用程序)
v17 Leanback 支持库(为 Android TV 提供重要小部件的支持库)
仅当您的最低 sdk 版本低于 API 级别 11 时才需要支持库。否则,您不需要为 Api 级别 11 或更高版本的项目添加支持库。
android-support-v4.jar: 支持android.app
类以协助开发适用于 android API 级别 4 或更高版本的应用程序。这样您就可以使您的应用程序 backword 兼容,
android-support-v7.jar它是最近在最新的支持库更新中添加的。ActionBar 允许将操作栏用户界面设计模式实现回 Android 2.1(API 级别 7)及更高版本。使用此类需要您通过扩展新ActionBarActivity
类来实现您的活动。
如果我想在我的应用程序中添加 appcompat 操作栏,我需要同时添加 android-support-v7-appcompat.jar 和 android-support-v4.jar 还是只添加 android-support-v7-appcompat.jar。
是的,如果你想使用它,你需要添加两个库的引用。
android-support-v13.jar 有 appcompat 吗?
不,它包括FragmentCompat,因此如果在版本 13 之后添加了一些 Fragment 功能,那么您可以使其与 Api 级别 11 兼容。因此,面向 API 11 或更高版本的应用程序可以使用在较新版本中添加的功能。
此答案与版本 >= 26.0.0 的支持库的客户相关:
注意:从支持库版本 26.0.0(2017 年 7 月)开始,大多数库包中支持的最低 API 级别已提高到Android 4.0(API 级别 14)。
例如,support-v4 和 support-v7 包都支持最低 API 级别 14,用于从 26.0.0 和更高版本开始的支持库版本。
有关详细信息,请参阅支持库 - 版本支持和包名称。