【问题标题】:Difference between android-support-v7-appcompat and android-support-v4android-support-v7-appcompat 和 android-support-v4 之间的区别
【发布时间】:2013-08-18 17:58:16
【问题描述】:

我想知道 android-support-v4.jar 之间的区别 和 android-support-v7-appcompat.jar。如果我想在我的应用程序中添加 appcompat 操作栏,我需要同时添加 android-support-v7-appcompat.jarandroid-support-v4.jar 还是只添加android-support-v7-appcompat.jar.

另外,android-support-v13.jar 有 appcompat 吗?

【问题讨论】:

    标签: android android-support-library android-4.0-ice-cream-sandwich android-actionbar-compat android-compatibility


    【解决方案1】:

    更新

    自从回答了这个问题以来,支持库已经进行了许多更改。好消息是,它也有很好的记录。因此,您必须阅读 Support Library Documentation 以了解更多详细信息和更多可用的支持库。

    从支持库版本 26.0.0(2017 年 7 月)开始,最低 大多数支持库支持的 API 级别已增加到 适用于大多数库包的 Android 4.0(API 级别 14)。


    以下是与Support Library Packages的区别:

    v4 支持库

    此库旨在与 Android 1.6(API 级别 4) Android 2.3(API 级别 9) Android 4.0(API 级别 14)及更高版本一起使用。与其他 API 相比,它包含最大的 API 集 库,包括对应用程序组件的支持,用户 界面特性、可访问性、数据处理、网络 连接性和编程实用程序。

    v7 库

    有几个库设计用于 Android 2.1(API 级别 7) Android 2.3(API 级别 9) Android 4.0(API 级别 14)及更高版本。这些库提供特定的功能集和 可以彼此独立地包含在您的应用程序中。

    v7 appcompat 库

    这个库增加了对 Action Bar 用户界面设计模式的支持。

    注意: 此库依赖于 v4 支持库。如果您使用的是 Ant 或 Eclipse,请确保将 v4 支持库作为一部分包含在内 这个库的类路径。

    所以是的,如果你想使用 v7,你需要两个 jars。


    android-support-v13.jar 更新

    v13 Support Library

    此接口在 API 级别 27.1.0 中已弃用。使用 Fragment 代替框架 Fragment。

    v13 支持库

    此库旨在用于 Android 3.2(API 级别 13)及更高版本。它增加了对 Fragment 用户界面模式的支持 使用 (FragmentCompat) 类和额外的片段支持 类

    当您看到package details 时,它有一个类FragmentCompat,如定义中所给出。所以它没有 appcompat 库的所有类。

    【讨论】:

    • 如果您是从 min api 19 开发应用程序。您需要这些吗?
    • v4 Support Libraries - 这些库旨在用于 Android 2.3(API 级别 9) 及更高版本。
    • v7 Support Libraries - 有几个库设计用于 Android 2.3(API 级别 9) 及更高版本。
    • @user5366495 可能是的。大多数好东西都适​​用于API21 and above ,如果您想在较低级别使用它,您应该使用支持库。所以API19 可能仍然需要它。
    【解决方案2】:

    什么是支持库?

    支持库是代码库(类的集合),它使新添加的功能适用于旧设备。
    例如,在 API 21 (Android 5.0 - Lolipop) 中引入了 Material Design,但是
    v7-support 库使其可用于 API 7 (Android 2.1.x -Eclair) 及更高版本。

    有哪些不同的支持库?

    一些主要的支持库是

    • V4 支持库

    • V7 支持库

    • V8 支持库

    • v13 支持库

    7 在 v7 支持库中代表什么?

    这意味着该库具有设计用于 API 级别 7 及更高级别的功能。 V4 也是如此(包含适用于 API 4 及更高版本的功能)等等。

    v7 Support 库和 v7 appcompat 库的区别?

    包括我在内的很少有人对这两个术语感到困惑。实际上,v7 appcompat 库是 v7 Support 库的一部分。 v7 支持库主要用于支持 API 7 及更高版本的 Material Design 和 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 提供重要小部件的支持库)

    相关链接

    【讨论】:

    • 这应该是公认的答案,用简单的话清楚地解释了一切。
    【解决方案3】:

    仅当您的最低 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 或更高版本可以使用新版本中添加的功能。

    【讨论】:

    • DrawerLayout / NavigationDrawer 目前存在于支持库中。
    • 您可以在 Android 应用程序中使用其他组件,这些组件基于默认情况下不包含在超过 11 个 API 中的支持库之一,例如 com.android.support:multidex: 1.0.0 和 com.android.support:design:23.1.0。查看完整信息:developer.android.com/tools/support-library/features.html
    • 正如谷歌在developer.android.com/topic/libraries/support-library/… 中所说的那样,v4 支持和 v7 支持之间没有区别。两者都适用于 api 9 及更高版本。这是真的吗?!
    • 健二,是的,这是真的。 Google shift min 支持从 4 到 9 和从 7 到 9,现在两个库相互重复。
    • 如果您是从 min api 19 开发应用程序。您需要这些吗?
    【解决方案4】:

    此答案与版本 >= 26.0.0 的支持库的客户相关:

    注意:从支持库版本 26.0.0(2017 年 7 月)开始,大多数支持库支持的最低 API 级别已提高到 Android 4.0(API 级别 14) 对于大多数库包。

    例如,support-v4 和 support-v7 软件包都支持最低 API 级别 14,用于支持库的版本从 26.0.0 及更高版本

    有关详细信息,请参阅Support Library - Version Support and Package Names

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-21
      • 2013-06-03
      • 2016-03-06
      • 1970-01-01
      相关资源
      最近更新 更多