Android5.0 v7扩展包之RecyclerView
近日Google发布了Android5.0 SDK,随之android L的部分预览功能也发布了正式版本。本文将介绍RecyclerView
。
RecylerView
简介
The RecyclerView widget is a more advanced and flexible version of ListView. This widget is a container for displaying large data sets that can be scrolled very efficiently by maintaining a limited number of views. Use the RecyclerView widget when you have data collections whose elements change at runtime based on user action or network events.
大意是RecylerView
是一个高级的ListView
。可以很好的维护大数据集的滚动和显示。详细的解释参考这里。本文的内容也是基于此而写。
RecylerView
在那里
- 包名:
android.support.v7.widget.RecyclerView
- 文件地址有两个
- 1:
android-sdk/extras/android/m2repository/com/android/support/recyclerview-v7
- 2:
android-sdk/extras/android/support/v7/recyclerview
- 1:
RecylerView
怎么引用
Android Studio
dependencies {
compile 'com.android.support:recyclerview-v7:21.0.0'
}
在此推荐使用Android Studio
开发Android项目
Eclipse
以下猜测可以使用,没有经过测试。
- 在
android-sdk/extras/android/support/v7/recyclerview
目录下面有libs
,里面有jar包,引用此jar包。 - 在
android-sdk/extras/android/m2repository/com/android/support/recyclerview-v7
目录下根据版本号21.0.0
目录可以找到一个名为recyclerview-v7-21.0.0.aar
的文件。解压此文件里面有classes.jar
,引用此jar包。
找不到目录
针对找不到目录的同学,打开Android SDK Manager把最新的资源更新下来即可。
RecylerView
新类介绍
说说几个新类,Adapter(android.support.v7.widget.RecyclerView.Adapter)
、ViewHolder(android.support.v7.widget.RecyclerView.ViewHolder)
、LayoutManager(android.support.v7.widget.RecyclerView.LayoutManager)
Adapter
适配器,和以前的Adapter不一样,此Adapter为RecylerView特有。作为一个抽象类,有以下几个抽象方法。
public static abstract class Adapter<VH extends ViewHolder>{}{
...
public abstract VH onCreateViewHolder(ViewGroup parent, int viewType);
public abstract void onBindViewHolder(VH holder, int position);
public abstract int getItemCount();
...
}