IDE:AndroidStudio
首先:添加依赖库
compile 'com.android.support:recyclerview-v7:23.4.0'
效果图如下:
类名 |
说明 |
RecyclerView.Adapter | 托管数据集合,为每个Item创建视图 |
RecyclerView.ViewHolder | 承载Item视图的子视图 |
RecyclerView.LayoutManager | 负责Item视图的布局 |
RecyclerView.ItemDecoration | 给Item进行各种装饰 |
DefaultItemAnimator | 负责添加、删除数据时的动画效果 |
类名 |
说明 |
RecyclerAdapter | 托管数据集合,为每个Item创建视图 |
CustomViewHolder | 承载Item视图的子视图 |
CustomCallback | 负责Item触摸事件 |
CustomItemDecoration | 用来绘制divider |
类名 |
说明 |
IOnRecyclerViewItemClickListener | 实现 RecyclerView的item点击事件 |
IRecyclerViewItemChange | 实现RecyclerView的 item 改变 |
布局文件
1. main_activity
<?xml version="1.0" encoding="utf-8"?>
<!--main_activity-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn_listViewVer_activity_main"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="列表(竖)"/>
<Button
android:id="@+id/btn_GridViewVer_activity_main"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="网格(竖)"/>
<Button
android:id="@+id/btn_staggeredGridVer_activity_main"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="瀑布(竖)"/>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn_listViewHor_activity_main"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="列表(横)"/>
<Button
android:id="@+id/btn_GridViewHor_activity_main"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="网格(横)"/>
<Button
android:id="@+id/btn_staggeredGridHor_activity_main"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="瀑布(横)"/>
<