不喜勿喷,互相交流
导入需要的jar包
compile 'com.android.support:recyclerview-v7:25.0.0'
=================================================================================
主界面
public class MainActivity extends AppCompatActivity implements RecyclerView.OnItemTouchListener { RecyclerView recyclerView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.recycle); //recyclerView.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View v) { // // } //}); } @Override public void onContentChanged() { super.onContentChanged(); recyclerView = (RecyclerView) findViewById(R.id.recycle_all); // recyclerView.addOnItemTouchListener(this); //布局管理器 //上下跑 // recyclerView.setLayoutManager(new LinearLayoutManager(this)); //左右跑,默认是TRUE往左边拉 // recyclerView.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,true)); //gridviewde布局管理器 // recyclerView.setLayoutManager(new GridLayoutManager(this,3, GridLayoutManager.VERTICAL,true)); //瀑布流 recyclerView.setLayoutManager(new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL)); //设置间隔 recyclerView.addItemDecoration(new RecyclerView.ItemDecoration() { @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { super.getItemOffsets(outRect, view, parent, state); outRect.set(5,5,0,0); } }); //数据源 int []id = {R.mipmap.b, R.mipmap.cccccccccc, R.mipmap.iiiii, R.mipmap.ioioi, R.mipmap.kjkhjk, R.mipmap.ooo, R.mipmap.opopo, R.mipmap.pipip, R.mipmap.ppppp, R.mipmap.popopopoip, R.mipmap.aaaaa, R.mipmap.bbbbbbbbb, R.mipmap.cccccccc, R.mipmap.cccccccccc, R.mipmap.eeeeeeeeeeee, R.mipmap.sssssssssssss}; //适配器 recycleadapter recycleadapter=new recycleadapter(id); recyclerView.setAdapter(recycleadapter); recycleadapter.notifyDataSetChanged(); } @Override public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) { return false; } @Override public void onTouchEvent(RecyclerView rv, MotionEvent e) { } @Override public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) { } }============================================================================================================================
适配器
public class recycleadapter extends RecyclerView.Adapter<recycleadapter.myholde> { int []id; public recycleadapter(int []id) { this.id = id; } //绑定 可复用view玉的myholde绑定 @Override public myholde onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycleshow, parent, false); return new myholde(view); } //数据与myholde绑定 @Override public void onBindViewHolder(myholde holder, int position) { holder.imageView.setImageResource(id[position]); } // @Override public int getItemCount() { return id.length; } static class myholde extends RecyclerView.ViewHolder { ImageView imageView; public myholde(View itemView) { super(itemView); //加载组件 imageView = (ImageView) itemView.findViewById(R.id.img_recycleshow); } } }==============================================================================================================
demo地址
链接:http://pan.baidu.com/s/1eRSaRqq 密码:g775