在项目中我们经常用到recyclerView来实现各种列表。RecyclerView相对于LIstView的优点:
1.RecyclerView封装了ViewHolder的回收复用
2.提供了一种插拔式的体验,高度的解耦,异常的灵活,针对一个Item的显示,RecyclerView专门抽取出了相应的类,来控制Item的显示,使其的扩展性非常强。
3.可以控制Item的增删动画,可以通过ItemAnimator这个类控制
下面介绍一下RecyclerVeiw的基本用法。
首先我们要gradle的依赖库中添加
compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'
在activity_main.xml中添加控件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<android.support.v7.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.v7.widget.RecyclerView>
</RelativeLayout>
新建一个布局文件,作为item布局
recyclerview_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_item"
android:layout_width="50dp"
android:layout_height="50dp"
android:background="@color/colorAccent"/>
<TextView
android:id="@+id/tv_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
Recyclerview的主要有四个步骤,
1.设置Adapter
2.设置布局管理器
3.设置item分割线
4.设置item增删动画
/**
* 设置Adapter
*/
mRecyclerView.setAdapter(mListAdapter);
/**
* 设置布局管理器
*/
mRecyclerView.setLayoutManager(linearLayoutManager);
/**
* 设置item分割线
*/
mRecyclerView.addItemDecoration(ite