61

我想使用新的 Android L 开发人员预览支持库(如此所述)引入的新 CardView 小部件,这似乎是 v7 支持库的新修订版的一部分。

我现在更新了我的 SDK 版本,下载了最新的支持库包,但我仍然找不到新的 CardView 小部件。

我已经搜索了网络和官方文档,但无法获得任何关于在哪里可以获得新支持库的提示。

非常感谢任何帮助!

编辑:我正在使用 ADT/Eclipse

4

12 回答 12

52

使用 Gradle 或 Android Studio,尝试添加对com.android.support:cardview-v7.

目前似乎没有用于cardview-v7leanback-v17palette-v7或的常规 Android 库项目recyclerview-v7。我不知道谷歌是否/何时会发布这样的图书馆项目。

于 2014-06-27T10:27:06.070 回答
41

我终于找到了在 ADT/Eclipse 中使用 CardView 的方法。其实很简单:

  1. 在 Android Studio 中创建一个新项目
  2. 添加 CardView 依赖项,如该问题的其他答案中所述
  3. 打开 ADT 并使用包名创建一个新的库项目android.support.v7.cardview
  4. 删除所有 ADT 自动创建的资源
  5. 在 Android Studio 中找到该exploded-aar文件夹​​并将以下文件复制到这些位置:
    • res/values/values.xml到您的 ADT 项目中的相同位置
    • classes.jar到你的 ADT 项目中的 libs/
    • AndroidManifest.xml使用它来替换 ADT 中自动生成的清单
  6. 将 classes.jar 添加到构建路径并确保它已导出
  7. 在要使用 CardView 的项目中添加对库项目的引用。您可以按照Adding libraries with resources此处提供的步骤操作:https ://developer.android.com/tools/support-library/setup.html

作为必须创建新的 Android Studio 项目以获取 AAR 内容的替代方法,您还可以简单地从本地 maven 存储库中找到并解压缩 AAR。只需按照以下 Andrew Chen 提供的步骤操作即可。

请注意,CardView 库可能无法以源代码和 ADT 兼容形式提供,因为它仍然只是预览和 WIP。由于后续版本中可能会有错误修复和改进,因此保持库是最新的很重要,这很容易使用 Gradle 依赖项,但在使用上面提供的步骤时必须手动完成。

于 2014-06-28T15:07:45.617 回答
33

你需要在你的 build.gradle 中添加这个:

dependencies {
    ...
    compile 'com.android.support:cardview-v7:+'
}

然后Sync Project with Gradle Files最后,您可以使用此处描述的 CardView 。

于 2014-06-27T10:29:27.967 回答
27

我已经完成了以下操作,它解决了与 recyclerview 相同的问题,如果它在 eclipse 项目中不起作用,您也可以将其用于其他小部件。

• 转到 sdk\extras\android\m2repository\com\android\support\recyclerview-v7\21.0.0-rc1目录

• 复制recyclerview-v7-21.0.0-rc1.aar文件并将其重命名为.zip

• 解压文件,你会得到classes.jar(重命名jar文件更有意义的名字)

• 在您的项目构建路径或lib 目录中使用以下jar。

它解决了您的错误。

快乐编码:)

于 2014-07-02T21:08:48.540 回答
19

https://github.com/yongjhih/CardView

一个 CardView v7 eclipse 项目。(来自 sdk/extras/android/m2repository/com/android/support/cardview-v7)

该项目是按以下步骤构建的:

cp {sdk}/extras/android/m2repository/com/android/support/cardview-v7/21.0.0-rc1/cardview-v7-21.0.0-rc1.aar cardview-v7-21.0.0-rc1.zip
unzip cardview-v7-21.0.0-rc1.zip
mkdir libs/
mv classes.jar libs/cardview-v7-21.0.0-rc1.jar
于 2014-07-02T03:40:34.917 回答
10

只有在将这两个加在一起后,我才能解决它:

dependencies {
...
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
...
}

在我的 build.gradle (Module:app)文件中

然后按立即同步按钮

于 2016-11-20T10:54:41.190 回答
3

虽然有点隐藏它在这里的官方文档中在哪里可以在 sdk 的代码中找到该库,以及如何使用资源获取它(Eclipse 方式)

于 2014-11-05T00:16:50.160 回答
2

来自:https ://developer.android.com/tools/support-library/setup.html#libs-with-res

添加带有资源的库 要将带有资源的支持库(例如用于操作栏的 v7 appcompat)添加到您的应用程序项目中:

使用 Eclipse

根据支持库代码创建库项目:

  • 确保您已使用 SDK 管理器下载了 Android 支持库。

  • 创建一个库项目并确保所需的 JAR 文件包含在项目的构建路径中:

  • 选择文件 > 导入。

  • 选择 Existing Android Code Into Workspace 并单击 Next。

  • 浏览至 SDK 安装目录,然后浏览至 Support Library 文件夹。例如,如果您要添加 appcompat 项目,请浏览到 /extras/android/support/v7/appcompat/。

  • 单击完成以导入项目。对于 v7 appcompat 项目,您现在应该会看到一个名为 android-support-v7-appcompat 的新项目。

  • 在新的库项目中,展开 libs/ 文件夹,右键单击每个 .jar 文件并选择 Build

  • 路径 > 添加到构建路径。例如,在创建 v7 appcompat 项目时,将 android-support-v4.jar 和 android-support-v7-appcompat.jar 文件都添加到构建路径中。

  • 右键单击库项目文件夹并选择构建路径 > 配置构建路径。

  • 在 Order and Export 选项卡中,检查您刚刚添加到构建路径的 .jar 文件,以便它们可用于依赖此库项目的项目。例如,appcompat 项目要求您同时导出 android-support-v4.jar 和 android-support-v7-appcompat.jar 文件。

  • 取消选中 Android 依赖项。

  • 单击确定以完成更改。

  • 您现在拥有一个用于所选支持库的库项目,您可以将其与一个或多个应用程序项目一起使用。

  • 将库添加到您的应用程序项目中:

  • 在 Project Explorer 中,右键单击您的项目并选择 Properties。

  • 在对话框左侧的类别面板中,选择 Android。

  • 在库窗格中,单击添加按钮。

  • 选择库项目并单击确定。例如,appcompat 项目应列为 android-support-v7-appcompat。

  • 在属性窗口中,单击确定。

于 2014-11-12T03:01:55.283 回答
2

也许在这里添加答案有点晚了。但我认为这个答案会帮助后来的人,尤其是那些不想使用 Android Studio 的人。

虽然文档说 RecyclerView 和 CardView 是 v7 appcompat 库的一部分。但正如我尝试和发现的那样,RecyclerView 和 CardView 实际上依赖于 v7 appcompat 库。所以如果你想使用 RecyclerView 或 CardView,你需要同时添加 v7 appcompat 库和 RecyclerView/CardView。

参考这里的链接,如果您想在 Eclipse android 项目中使用 CardView,您需要将 v7 appcompat 库和 CardView 都导入 Eclipse 工作区,并将它们作为库项目。然后使 CardView 项目依赖于 v7 appcompat 库项目,并使您的项目依赖于 CardView 项目。

于 2015-06-24T09:00:04.280 回答
2

build.gradle只需在您的项目中添加以下行

dependencies {
    ...
    compile 'com.android.support:cardview-v7:24.0.0'
}

并将项目与 gradle 同步。

于 2016-04-06T05:29:29.913 回答
0

我按照 FD_ 所说的做了,它在寻找“Landroid/support/v7/cardview/R$styleable;”时出现错误,它没有用它编译

如果你真的想在 eclipse 之前使用 CardView 之前它获得自己的库,你可以从 classes.jar 中提取类,将它们复制并粘贴到你的项目中,使用来自 Android Studio 上面的 values.xml 并更改所有在复制的类中引用 android.support.v7.R 到 yourpackagename.R。这为我工作并运行

于 2014-06-28T19:57:58.593 回答
0

在最新的android中,我们实现了这样的卡片视图:

build.gradle 文件:

dependencies {
    ...
    compile 'com.android.support:cardview-v7:24.0.0'
}

并在 xml 文件中将其引用为:

<androidx.cardview.widget.CardView
…&gt;
…
</androidx.cardview.widget.CardView>

这意味着它的类已更改为: androidx.cardview.widget.CardView

于 2020-06-02T19:09:45.257 回答