我想使用新的 Android L 开发人员预览支持库(如此处所述)引入的新 CardView 小部件,这似乎是 v7 支持库的新修订版的一部分。
我现在更新了我的 SDK 版本,下载了最新的支持库包,但我仍然找不到新的 CardView 小部件。
我已经搜索了网络和官方文档,但无法获得任何关于在哪里可以获得新支持库的提示。
非常感谢任何帮助!
编辑:我正在使用 ADT/Eclipse
我想使用新的 Android L 开发人员预览支持库(如此处所述)引入的新 CardView 小部件,这似乎是 v7 支持库的新修订版的一部分。
我现在更新了我的 SDK 版本,下载了最新的支持库包,但我仍然找不到新的 CardView 小部件。
我已经搜索了网络和官方文档,但无法获得任何关于在哪里可以获得新支持库的提示。
非常感谢任何帮助!
编辑:我正在使用 ADT/Eclipse
使用 Gradle 或 Android Studio,尝试添加对com.android.support:cardview-v7
.
目前似乎没有用于cardview-v7
、leanback-v17
、palette-v7
或的常规 Android 库项目recyclerview-v7
。我不知道谷歌是否/何时会发布这样的图书馆项目。
我终于找到了在 ADT/Eclipse 中使用 CardView 的方法。其实很简单:
android.support.v7.cardview
exploded-aar
文件夹并将以下文件复制到这些位置:
Adding libraries with resources
此处提供的步骤操作:https ://developer.android.com/tools/support-library/setup.html作为必须创建新的 Android Studio 项目以获取 AAR 内容的替代方法,您还可以简单地从本地 maven 存储库中找到并解压缩 AAR。只需按照以下 Andrew Chen 提供的步骤操作即可。
请注意,CardView 库可能无法以源代码和 ADT 兼容形式提供,因为它仍然只是预览和 WIP。由于后续版本中可能会有错误修复和改进,因此保持库是最新的很重要,这很容易使用 Gradle 依赖项,但在使用上面提供的步骤时必须手动完成。
你需要在你的 build.gradle 中添加这个:
dependencies {
...
compile 'com.android.support:cardview-v7:+'
}
然后Sync Project with Gradle Files
。最后,您可以使用此处描述的 CardView 。
我已经完成了以下操作,它解决了与 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。
它解决了您的错误。
快乐编码:)
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
只有在将这两个加在一起后,我才能解决它:
dependencies {
...
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
...
}
在我的 build.gradle (Module:app)文件中
然后按立即同步按钮
虽然有点隐藏它在这里的官方文档中在哪里可以在 sdk 的代码中找到该库,以及如何使用资源获取它(Eclipse 方式)
来自: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。
在属性窗口中,单击确定。
也许在这里添加答案有点晚了。但我认为这个答案会帮助后来的人,尤其是那些不想使用 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 项目。
build.gradle
只需在您的项目中添加以下行
dependencies {
...
compile 'com.android.support:cardview-v7:24.0.0'
}
并将项目与 gradle 同步。
我按照 FD_ 所说的做了,它在寻找“Landroid/support/v7/cardview/R$styleable;”时出现错误,它没有用它编译
如果你真的想在 eclipse 之前使用 CardView 之前它获得自己的库,你可以从 classes.jar 中提取类,将它们复制并粘贴到你的项目中,使用来自 Android Studio 上面的 values.xml 并更改所有在复制的类中引用 android.support.v7.R 到 yourpackagename.R。这为我工作并运行
在最新的android中,我们实现了这样的卡片视图:
build.gradle 文件:
dependencies {
...
compile 'com.android.support:cardview-v7:24.0.0'
}
并在 xml 文件中将其引用为:
<androidx.cardview.widget.CardView
…>
…
</androidx.cardview.widget.CardView>
这意味着它的类已更改为:
androidx.cardview.widget.CardView