compile 'com.android.support:recyclerview-v7:23.4.0'
命名空間:java
android.support.v7.widget.RecyclerView android.support.v7.widget.LinearLayoutManager
<android.support.v7.widget.RecyclerView android:id="@+id/activity_recycler_view_recyclerView" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v7.widget.RecyclerView>
<ImageView android:id="@+id/recyclerview_item_iv" tools:background="@drawable/img2" android:layout_marginLeft="30dp" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:layout_width="80dp" android:layout_height="80dp"/> <TextView android:id="@+id/recyclerview_item_tv" android:text="This is a computer!" android:layout_marginTop="30dp" android:textSize="20dp" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
public class MyRecyclerViewAdapter extends RecyclerView.Adapter<MyRecyclerViewAdapter.ViewHolder> { private List<String> list; private Context mContext; public MyRecyclerViewAdapter(Context context, List<String> list) { mContext=context; this.list = list; } static class ViewHolder extends RecyclerView.ViewHolder { ImageView imageView; TextView textView; View view; public ViewHolder(View itemView) { super(itemView); textView=(TextView)itemView.findViewById(R.id.recyclerview_item_tv); imageView=(ImageView)itemView.findViewById(R.id.recyclerview_item_iv); view=itemView; } } @Override public MyRecyclerViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view =View.inflate(parent.getContext(),R.layout.recyclerview_item_layout,null); final ViewHolder holder = new ViewHolder(view); //整個子項點擊事件 holder.view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(mContext, "Item:"+String.valueOf(holder.getAdapterPosition()), Toast.LENGTH_SHORT).show(); } }); // 圖片點擊事件 holder.imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(mContext, String.valueOf(holder.getAdapterPosition()), Toast.LENGTH_SHORT).show(); } }); return holder; } @Override public void onBindViewHolder(MyRecyclerViewAdapter.ViewHolder holder, int position) { holder.textView.setText(list.get(position)); if(position%2==0){ holder.imageView.setImageResource(R.drawable.img2); }else { holder.imageView.setImageResource(R.drawable.img3); } } @Override public int getItemCount() { return list.size(); } }
//初始化數據 List<String> list = new ArrayList<>(); for (int i = 0; i < 10; i++) { list.add("This is computer "+String.valueOf(i)); } RecyclerView recyclerView=(RecyclerView)findViewById(R.id.activity_recycler_view_recyclerView); MyRecyclerViewAdapter adapter=new MyRecyclerViewAdapter(this,list); recyclerView.setAdapter(adapter); //設置佈局方式 LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this); linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); recyclerView.setLayoutManager(linearLayoutManager); // 瀑布式流佈局 // 3 表示佈局的列數 /*StaggeredGridLayoutManager layoutManager=new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL); recyclerView.setLayoutManager(layoutManager);*/
recyclerView.scrollToPosition(0)