本文的主要内容为:
利用RecyclerView及CardView来创建卡片列表
先贴出效果图:
RecyclerView相当于一个更强大,更高效的ListView。但是由于RecyclerView姗姗来迟,在程序中应用RecyclerView组件时,必须要先在Android Studio 的build.gradle中添加对库的依赖,以达到兼容旧设备的目的。如下所示:
同理,由于CardView也是后来才推出来的,因此应用时也应该添加依赖。这里一并演示,如图2:
注:很多书上的写法与图2类似,但是“v7:”后面的数值往往不同,如果照做的话出错的概率还是非常大的。其实只要细心一点,观察build.gradle中默认存在的对appcompat进行支持的语句:
compile 'com.android.support:appcompat-v7:26.+'
就能推敲出来,其他的支持性语句怎么写。
所以一个简单快捷而又不出错的添加库依赖的方法就是:复制上面那一条语句,然后把最关键的地方改动一下就OK了。
也就是说:“support:”后面的单词就代表了对该组件的支持。
所以要添加对RecyclerView的支持的话,将appcompat改成是recyclerview就可以了。CardView也同理。(注意大小写)
添加了依赖之后,自然就是在布局文件中添加一个RecyclerView:
"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.chenlong.recyclerviewpluscardview.MainActivity">
<android.support.v7.widget.RecyclerView
android:id="@+id/card_list"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
可以看到,添加的方法与添加系统的其他view如出一辙。
那么接下来就需要在主活动当中获得这个组件:
...
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取RecyclerView的引用,并对其进行设置