RecyclerView简单使用

原创 2016年05月30日 15:08:43
参考链接:	1、http://www.2cto.com/kf/201511/450814.html
		2、http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1118/2004.html


XML(RecyclerView)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.tcs.myapplication.MainActivity">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="vertical" />
</RelativeLayout>
属性: android:scrollbars="vertical"
	scrollbars:右边或者底部位置导航;可选horizontal\vertical\none

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

    <TextView
        android:id="@+id/text"
        android:layout_centerInParent="true"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:gravity="center"
        android:textColor="#fff"
        />
</RelativeLayout>

---------------------------------------------------------------------------------------------------------------------------------------------------------
MainActivity
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        RecyclerView mRecyclerView = (RecyclerView) findViewById(R.id.recyclerview);
        //线性布局(横向/纵向滚动)管理器
        LinearLayoutManager mLinearLayoutManager = new LinearLayoutManager(this);
        //设置Item的滚动方向
        mLinearLayoutManager.setOrientation(OrientationHelper.VERTICAL);

        //表格布局管理器
        //GridLayoutManager mGridLayoutManager=new GridLayoutManager(this,4);
        //mLinearLayoutManager.setOrientation(OrientationHelper.VERTICAL);

        //设置瀑布流布局管理器
        //StaggeredGridLayoutManager mStaggeredGridLayoutManager = new StaggeredGridLayoutManager(4, OrientationHelper.VERTICAL);
        //mStaggeredGridLayoutManager.setOrientation(OrientationHelper.VERTICAL);

        MyAdapter myAdapter = new MyAdapter();
        if (mRecyclerView != null) {
            //设置固定大小,如果可以确定每个item的高度是固定的,设置这个选项可以提高性能;
            //当使用瀑布流布局,Item布局大小不定,需要设置为False
            mRecyclerView.setHasFixedSize(true);
            //设置线性布局
            mRecyclerView.setLayoutManager(mLinearLayoutManager);
            //设置表格布局
            //mRecyclerView.setLayoutManager(mGridLayoutManager);
            //设置瀑布流布局
            //mRecyclerView.setLayoutManager(mStaggeredGridLayoutManager);
            mRecyclerView.setAdapter(myAdapter);
        }
    }
}

---------------------------------------------------------------------------------------------------------------------------------------------------------
Adapter
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
    public LayoutInflater mLayoutInflater;
    public List<String> mList;

    public MyAdapter() {
        mLayoutInflater = MainActivity.this.getLayoutInflater();
        mList = new ArrayList<>();
        for (int i = 0; i < 50; i++) {
            mList.add("item" + i);
        }
    }

    //创建新View,被LayoutManager所调用
    @Override
    public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View v = mLayoutInflater.inflate(R.layout.item, null);
        return new ViewHolder(v);
    }

    //将数据与界面进行绑定的操作
    @Override
    public void onBindViewHolder(MyAdapter.ViewHolder holder, int position) {
        holder.mTextView.setText(mList.get(position));
        if (position % 2 == 0) {
            holder.mTextView.setBackgroundColor(Color.BLUE);	//双数则设置背景为蓝色
        } else {
            holder.mTextView.setBackgroundColor(Color.GRAY);	//单数则设置背景为灰色

        }
    }

    //获取数据的数量
    @Override
    public int getItemCount() {
        return mList.size();
    }

    //自定义的ViewHolder,持有每个Item的的所有界面元素
    public class ViewHolder extends RecyclerView.ViewHolder {
        public TextView mTextView;

        public ViewHolder(View itemView) {
            super(itemView);
            mTextView = (TextView) itemView.findViewById(R.id.text);
        }
    }
}


                    

RecyclerView+CardView使用总结(带小例子)

前言: 使用RecyclerView和CardView已经好久了,写一个小程序来回顾和梳理一下知识点。RecyclerView和CardView的介绍和优势,我这里就不再赘述了,网上有很多好的文章,例...
  • IWantToHitRen
  • IWantToHitRen
  • 2017年03月09日 17:23
  • 712

RecyclerView的适配器

为RecyclerView创建Item的点击事件,
  • Mr_QiuL
  • Mr_QiuL
  • 2016年08月15日 18:16
  • 1145

RecyclerView简易底部上拉刷新

关于RecyclerView底部上拉刷新,网上也有很多种方法,之前突然想到一点特点就刚好做出了差不多的上拉效果,也比较简易。...
  • HoHohong
  • HoHohong
  • 2016年01月30日 20:28
  • 664

RecyclerView 滑动删除与拖动的实现

RecyclerView 滑动删除与拖动的实现
  • u014214535
  • u014214535
  • 2016年06月15日 15:54
  • 1590

RecyclerView的基本使用方法

1.RecyclerView的使用方法(使用的Android Studio开发) 首先是recyclerview的配置问题,recyclerview是要导入android.support.v7.wi...
  • Javacainiao931121
  • Javacainiao931121
  • 2016年06月18日 09:26
  • 12276

一个简单的RecyclerView多布局实现

实现一个简单的item多布局,当做记录,主要是通过不同的itemType来实现,先放上我的实现效果,如下,图片大都是百度的: 由于使用了百分比布局,所以横屏的也顺便适配了,横屏的如下, 需...
  • Handsonn
  • Handsonn
  • 2016年10月19日 23:26
  • 1736

Android RecyclerView 使用完全解析 体验艺术般的控件

Android RecyclerView 使用完全解析 概述 RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用。 据官方的介绍...
  • lmj623565791
  • lmj623565791
  • 2015年04月16日 09:07
  • 840013

安卓中RecyclerView的使用

1.创建一个主布局文件,里面只有FrameLayout,用于放置所要托管的活动:activity_main.xml: xml version="1.0" encoding="utf-8"?> Fra...
  • u010273007
  • u010273007
  • 2017年05月02日 16:39
  • 427

适配ListView和RecyclerView构建多Item模板的终极杀器——MTSimpleAdapter

本文中的DEMO和library已上传到github: https://github.com/devilthrone/MTSimpleAdapter 欢迎fork and star O(∩_∩)O需...
  • a253664942
  • a253664942
  • 2016年04月16日 20:49
  • 1246

android 打造真正的下拉刷新上拉加载recyclerview(一):使用

WZMRecyclerview 是一个集成了 下拉刷新、上拉加载、滑到底部自动加载、添加删除头尾部 四个主要功能的recyclerview,当然,还支持 自定义的刷新头部和加载底部、EmptyView...
  • anyfive
  • anyfive
  • 2016年11月03日 12:29
  • 5666
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RecyclerView简单使用
举报原因:
原因补充:

(最多只允许输入30个字)