Android编程入门--RecyclerView使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android编程入门--RecyclerView使用相关的知识,希望对你有一定的参考价值。

布局

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rv_department"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:clipChildren="false"
        android:clipToPadding="false"
        android:padding="8dp" />

item 布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerInParent="true"
        android:layout_margin="8dp">

    <TextView
        android:id="@+id/tv"
        android:layout_width="match_parent"
        android:layout_height="36dp"
        android:background="@drawable/bg_white_to_gray"
        android:foreground="?attr/selectableItemBackground"
        android:gravity="center"/>
    </android.support.v7.widget.CardView>

</RelativeLayout>

Adapter

public class DeptAdapter extends RecyclerView.Adapter<DeptAdapter.ViewHolder>{

    public String[] datas = null;

    public DeptAdapter(String[] datas) {
        this.datas = datas;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_dept,viewGroup,false);
        ViewHolder vh = new ViewHolder(view);
        return vh;
    }

    @Override
    public void onBindViewHolder(ViewHolder viewHolder, int position) {
        viewHolder.mTextView.setText(datas[position]);
    }

    @Override
    public int getItemCount() {
        return datas.length;
    }

    class ViewHolder extends RecyclerView.ViewHolder {
        private TextView mTextView;
        public ViewHolder(View view){
            super(view);
            mTextView = (TextView) view.findViewById(R.id.tv);
        }
    }
}

 

GridLayoutManager方式

        GridLayoutManager manager = new GridLayoutManager(this, 4);
        rv_department.setLayoutManager(manager);
        rv_department.setItemAnimator(new DefaultItemAnimator());//设置动画
        DeptAdapter mAdapter = new DeptAdapter(new String[]{"东润","研发部","科技"});
        rv_department.setAdapter(mAdapter);

 

以上是关于Android编程入门--RecyclerView使用的主要内容,如果未能解决你的问题,请参考以下文章

Android之RecyclerView入门

如图,Android 编程,右侧三个recyclerview布局,为啥是靠顶部,不是居中的?布局

Android:以编程方式在片段中添加多个 RecyclerView

android-基础编程-RecyclerView

从0系统学Android--3.6 RecyclerView

在recyclerview android中以编程方式更改布局管理器