-
先看一下效果图
-
RecyclerView简介
RecyclerView是从Android5.0开始,谷歌公司推出的一个用于大量数据展示的新控件。RecyclerView可以替代传统的ListView,它更加强大和灵活,RecyclerView的官方定义如下
A flexible view for providing a limited window into a large data set
从定义可以看出flexible是其优点,RecyclerView是support-v7包中的新组件。
RecyclerView相对于ListView的优点如下:
1.RecyclerView封装了viewHolder的回收复用,也就是说Recyclerview标准化了viewHolder。
2.设置布局管理器以控制item的布局方式,横向、竖向以及瀑布流方式,可以调用setLayoutManager设置布局方式。RecyclerView的布局管理器有LinearLayoutManager、GridLayoutManager和StaggeredGridLayoutManager。也可以调用布局管理器的setOrientation方法设置recyclerView的滚动方向。
3.可以设置RecyclerView的间隔样式,通过继承RecyclerView的ItemDecoration这个类,去自定义间隔样式,然后调用addItemDecoration去添加间隔样式。
4.可以控制item的增删动画,通过ItemAnimator这个类进行控制,调用setItemAnimator方法实现。
-
实现原理
public class RecycleViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{ private List<ChatWithFriendBean> mList; private Context mContext; private LayoutInflater mInflater; private AdapterView.OnItemClickListener mListener; private RequestOptions options; public interface OnItemClickListener{ void onItemClick(ChatWithFriendBean bean); } public RecycleViewAdapter(Context context,List<ChatWithFriendBean> list) { mContext = context; mList = list; mInflater = LayoutInflater.from(mContext); options = new RequestOptions().centerCrop(); } //通过不同的viewType创建不同的viewHolder @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) { if (viewType
RecyclerView实现聊天界面
最新推荐文章于 2023-09-19 17:39:12 发布