在我的项目中使用android.support.v7.widget.CardView(Eclipse)
我想要使用新的Android L开发人员预览支持库(如上所述)引入的CardView小部件,它似乎是v7支持库新版本的一部分。
我现在更新了我的SDK版本,下载了最新的支持库软件包,但是我仍然无法find新的CardView小部件。
我已经search了networking和官方的文档,但没有得到任何提示,我可以得到新的支持库。
任何帮助,高度赞赏!
编辑:我正在使用ADT / Eclipse
使用Gradle或Android Studio,尝试添加对com.android.support:cardview-v7:21.+
的依赖关系。
目前似乎还没有一个常规的Android库项目用于cardview-v7
, leanback-v17
, palette-v7
或recyclerview-v7
。 我不知道Google / Google何时会推出这样的图书馆项目。
我终于find了在ADT / Eclipse中使用CardView的方法。 这其实很简单:
- 在Android Studio中创build一个新项目
- 按照其他问题的解释,添加CardView依赖项
- 打开ADT并创build一个包名称为
android.support.v7.cardview
的新库项目 - 删除ADT自动创build的所有资源
- 在Android Studio中find
exploded-aar
文件夹,并将以下文件复制到这些位置:- res / values / values.xml添加到ADT项目中的相同位置
- classes.jar到libs /在你的ADT项目中
- AndroidManifest.xml使用它来replaceADT中自动生成的清单
- 添加classes.jar到构buildpath,并确保它的导出
- 在要使用CardView的项目中添加对库项目的引用。您可以按照以下
Adding libraries with resources
的步骤进行操作: https : //developer.android.com/tools/support-library/setup.html
作为为了获得AAR内容而必须创build一个新的Android Studio项目的替代方法,您也可以简单地从本地maven仓库中find并解压缩AAR。 只需按照下面的Andrew Chen提供的步骤。
请注意,CardView库可能无法以源代码和ADT兼容forms提供,因为它仍然只是预览和WIP。 由于以下版本中可能存在错误修复和改进,因此使库保持最新非常重要,这很容易使用Gradle依赖关系,但必须在使用上面提供的步骤时手动完成。
我已经做了下面的事情,它解决了recyclerview的问题,如果你不能在eclipse项目中工作,你也可以使用其他的widget。
•转到sdk \ extras \ android \ m2repository \ com \ android \ support \ recyclerview-v7 \ 21.0.0-rc1目录
•复制recyclerview-v7-21.0.0-rc1.aar文件并将其重命名为.zip
解压文件,你会得到classes.jar (重命名jar文件更有意义的名字)
在项目构buildpath或lib目录中使用以下jar。
并解决你的错误。
快乐编码:)
你需要在你的build.gradle中添加这个:
dependencies { ... compile 'com.android.support:cardview-v7:+' }
然后Sync Project with Gradle Files
。 最后,您可以使用CardView,如此处所述。
https://github.com/yongjhih/CardView
CardView v7 eclipse项目。 (来自sdk / extras / android / m2repository / com / android / support / cardview-v7)
该项目是通过以下步骤build立的:
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
虽然有点隐藏,但在官方文档中,SDK可以在哪些代码中find库,以及如何使用资源(Eclipse方式)
来自: https : //developer.android.com/tools/support-library/setup.html#libs-with-res
添加资源库向资源添加一个支持库(例如v7 appcompat for action bar)到您的应用程序项目中:
使用Eclipse
根据支持库代码创build一个库项目:
-
确保您已经使用SDKpipe理器下载了Android支持库。
-
创build一个库项目,并确保所需的JAR文件包含在项目的构buildpath中:
-
select文件>导入。
-
select现有的Android代码进入工作区,然后单击下一步。
-
浏览到SDK安装目录,然后浏览到Support Library文件夹。 例如,如果您要添加appcompat项目,请浏览至/ extras / android / support / v7 / appcompat /。
-
点击完成导入项目。 对于v7 appcompat项目,您现在应该看到一个名为android-support-v7-appcompat的新项目。
-
在新库项目中,展开libs /文件夹,右键单击每个.jar文件并selectBuild
-
path>添加到生成path。 例如,在创buildv7 appcompat项目时,将android-support-v4.jar和android-support-v7-appcompat.jar文件添加到构buildpath。
-
右键单击库项目文件夹,然后select“构buildpath”>“configuration构buildpath”。
-
在“订单和导出”选项卡中,检查刚刚添加到构buildpath的.jar文件,以便依赖于此库项目的项目可以使用这些文件。 例如,appcompat项目要求您导出android-support-v4.jar和android-support-v7-appcompat.jar文件。
-
取消selectAndroid依赖关系。
-
单击确定以完成更改。
-
现在,您可以为选定的支持库提供一个库项目,可以将其与一个或多个应用程序项目一起使用。
-
将库添加到您的应用程序项目中:
-
在项目资源pipe理器中,右键单击您的项目并select属性。
-
在对话框左侧的类别面板中,selectAndroid。
-
在“库”窗格中,单击“添加”button。
-
select库项目,然后单击确定。 例如,appcompat项目应该被列为android-support-v7-appcompat。
-
在属性窗口中,单击确定。
也许这里添加答案有点晚。 但我认为这个答案会帮助后面的人,特别是那些不想使用Android Studio的人。
尽pipe文档说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
项目中添加以下行build.gradle
dependencies { ... compile 'com.android.support:cardview-v7:24.0.0' }
并用Gradle同步项目。
只有在添加这两个TOGETHER后,我才能够解决这个问题:
dependencies { ... compile 'com.android.support:cardview-v7:21.+' compile 'com.android.support:recyclerview-v7:21.+' ... }
在我的build.gradle(模块:应用程序)文件
然后按现在同步button
我做了FD_所说的,因为它正在寻找“Landroid / support / v7 / cardview / R $ styleable;”,它没有被编译
如果你真的想在eclipse之前使用CardView,然后获取它自己的库,你可以从classes.jar中提取这些类,将它们复制并粘贴到你的项目中,从Android Studio上面的values.xml中更改所有的在复制的类中引用android.support.v7.R到yourpackagename.R。 这工作,并为我跑