RecyclerView使用总结
来源:互联网 发布:孑然一身 知乎 编辑:程序博客网 时间:2024/05/21 20:23
1、RecyclerView用途:实现ListView,GridView,瀑布流
2、RecyclerView用法:
<pre class="html" name="code">rv.setLayoutManager(new LinearLayoutManager(getActivity()));//设置布局 rv.setAdapter(adapter);//设置适配器 rv.setItemAnimator(new DefaultItemAnimator());//设置动画 rv.addItemDecoration(new DividerGridItemDecoration(this));//设置分割线
3、三种布局:
LinearLayoutManager :线性布局
GridLayoutManager :网格布局
StaggeredGridLayoutManager:瀑布流布局
4、自定义适配器
a、自定义ViewHolderb、重写onCreateViewHolder方法,返回自定义viewholderc、重写onBindViewHolder方法,绑定viewholderpackage com.recyclerview.example.annieliu.recyclerviewtest;import android.content.Context;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;import java.util.List;import de.greenrobot.event.EventBus;/** * Created by annieliu on 2016/2/5. */public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter.MyViewHolder>{ private List<String> data; private Context ctx; public MyRecyclerAdapter(List<String> data, Context ctx) { this.data = data; this.ctx = ctx; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new MyViewHolder(LayoutInflater.from(ctx).inflate(R.layout.list_item,parent,false)); } @Override public void onBindViewHolder(MyViewHolder holder, final int position) { final String value=data.get(position); holder.tv.setText(value); holder.tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { EventBus.getDefault().post(value); } }); } @Override public int getItemCount() { return data.size(); } class MyViewHolder extends RecyclerView.ViewHolder{ TextView tv; public MyViewHolder(View itemView) { super(itemView); tv=(TextView)itemView.findViewById(R.id.tv_list_item_num); } } }5、动画
提供一种自定义动画:DefaultItemAnimator;其他自定义动画:https://github.com/gabrielemariotti/RecyclerViewItemAnimators
6、分割线:没有提供默认分割线;可继承RecyclerView.ItemDecoration 实现自定义分割线;参考资料:http://blog.csdn.net/lmj623565791/article/details/45059587
7、其他:item的点击事件可以使用EventBus实现,优点:解耦合;具体参见另一篇博文。
参考资料:http://blog.csdn.net/lmj623565791/article/details/45059587
0 0
- RecyclerView.ItemDecoration 使用总结
- RecyclerView使用总结
- RecyclerView使用总结
- RecyclerView简单使用总结
- Android的RecyclerView使用总结
- (一)RecyclerView简单使用总结
- 总结一个recyclerview使用模版
- Android之RecyclerView的使用总结
- [AS2.1.3]RecyclerView的使用总结
- Android基础总结十二:RecyclerView简单使用
- RecyclerView总结
- Material Design控件使用总结之RecyclerView(一)基本使用
- RecyclerView使用
- RecyclerView使用:
- 使用RecyclerView
- 使用RecyclerView
- RecyclerView使用
- RecyclerView使用
- c/c++语言基础——杂七杂八概念
- ReactJS 入门实例学习
- Android手机实时同步到PC---转载搜狗测试
- 直接在 CSS 中引用 FONTAWESOME 图标(附码表)
- 并行计算之路<2>——CUDA与纹理映射
- RecyclerView使用总结
- IIS7和Tomcat7整合
- Android多点触控技术,实现对图片的放大缩小平移,惯性滑动等功能
- 使用python爬取csdn博客访问量
- Box2d的外力
- Android.mk的一些属性说明(转载)
- 区分bootstrap、bagging、boosting和adaboost
- 用Zoho People自动考勤
- 《Python核心编程》 Chap4习题解答