【问题标题】:Android studio: how to properly use the support library AppCompat?Android studio:如何正确使用支持库AppCompat?
【发布时间】:2017-03-30 09:18:22
【问题描述】:

我知道有很多版本,例如 v4、v7、v8、v13、v14、v17 等,它们没有按升级顺序排列。我不明白的是当你创建一个新项目并选择一个空的活动时,Android Studio中这个复选框的含义

向后兼容性 (AppCompat)

描述说

如果为 false,则此活动将是 Activity 而不是 AppCompatActivity

对我来说有点模糊,然后我检查了库,发现它是 android.support.v7.app.AppCompatActivity

说明是这样的

v7 支持库 有几个库设计用于 Android 2.3(API 级别 9)及更高版本。

再次,我不明白我是否必须使用它,取决于不同的情况。如果我设置了最大目标API,不使用它的必要minSdk是什么?

【问题讨论】:

  • 您应该构建和分发的应用的最小 sdk 版本是多少?
  • 恰恰相反:为了避免支持库,我们应该使用什么 min sdk 版本?

标签: android android-studio android-support-library android-appcompat


【解决方案1】:

回答你的问题并不简单。

支持库提供了广泛的类来构建应用程序,从基础应用程序组件到用户界面小部件,再到媒体处理,再到 TV 应用程序组件。

许多类都是向后兼容的实现,但其中一些本身就是新功能。

这一步非常重要。并非所有支持库都用于支持向后实现。

例如,在您的应用程序中,您将需要使用一些组件,例如:

  • 回收站视图
  • 卡片视图
  • ViewPager
  • 设计库
  • .....

特别是设计支持库依赖于 appcompat 库。

这意味着您无法避免仅使用 minSdk 来使用支持库。或者换句话说,您必须始终使用它们。

这里有更多关于support libraries的信息。

【讨论】:

    【解决方案2】:

    请注意,当您选择退出支持库时,您将无法从强大的RecyeclerView, CardView, DesignSupportLib 等中受益。因为这些库依赖于appCompat


    我们应该使用什么版本来避免支持库?

    您可以使用任何版本作为 min sdk 版本。没关系。 android studio默认每个项目都包含support lib,你必须手动删除它。

    如何创建没有支持库的新项目?

    • 新建项目时,将min sdk version设置为14(仅举例),不要添加 向导对话框中的任何活动。只需创建一个项目 没有活动。然后你可以根据需要添加代码
    • 您可以删除支持库,从您的 build.gradle 中删除依赖项

       dependencies {
          compile fileTree(dir: 'libs', include: ['*.jar'])
          //compile 'com.android.support:appcompat-v7:25.2.0'
      }
      
    • 将您在 styles.xml 中的主题父代替换为非 AppCompat 版本,例如 Holo.Light

    【讨论】:

    • 答案不正确。有很多支持库,不仅仅是appcompat。您无法避免使用 recyclerview,例如使用 minSdk = 21。
    • @GabrieleMariotti 更新了我的答案,我不想使用任何 appcomat 库,如 recyclerview、supportv7 等。我想是的。
    • 它们在大多数情况下都是必需的,所以我应该使用 AppCompatActivity,而不是 Activity 类,对吗?
    • @user3290180 你应该一直使用 AppCompatActivity,它会让你的生活更轻松
    猜你喜欢
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 2017-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    相关资源
    最近更新 更多