Android RecyclerView的简单使用

本文实例为大家分享了Android RecyclerView使用的具体代码,供大家参考,具体内容如下

package com.itheima74.recyclerview; 

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView; 

import java.util.ArrayList; 

/**
 * RecyclerView
 * 1.增强版的listview
 * 2.官方推荐
 * 3.使用步骤:
 * a.build.gradle文件中添加依赖compile 'com.android.support:recyclerview-v7:25.2.0'
 * b.xml布局中引入,注意完整包名+类名
 * c.具体见代码
 */
public class MainActivity extends AppCompatActivity { 

 ArrayList<Fruit> mFruitList;
 private RecyclerView recyclerview; 

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main); 

 initView();
 initData();
 initAdapter();
 } 

 /**
 * 初始化数据适配器
 */
 private void initAdapter() {
 recyclerview.setAdapter(new FruitAdapter());
 } 

 /**
 * 初始化控件
 */
 private void initView() {
 recyclerview = (RecyclerView) findViewById(R.id.recyclerview); 

 // 设置为LinearLayoutManager布局方式,线性布局
 // LinearLayoutManager layoutManager = new LinearLayoutManager(this);
 // 两种方式,水平或垂直排布,默认垂直排布
 // layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
 // recyclerview.setLayoutManager(layoutManager); 

 // 设置为GridLayoutManager布局方式,3列排布
 GridLayoutManager gridLayoutManager = new GridLayoutManager(this,3);
 recyclerview.setLayoutManager(gridLayoutManager);
 } 

 /**
 * 初始化数据,水果集合
 */
 private void initData() {
 mFruitList = new ArrayList<>();
 mFruitList.add(new Fruit("apple", R.drawable.apple_pic));
 mFruitList.add(new Fruit("banana", R.drawable.banana_pic));
 mFruitList.add(new Fruit("cherry", R.drawable.cherry_pic));
 mFruitList.add(new Fruit("grape", R.drawable.grape_pic));
 mFruitList.add(new Fruit("mango", R.drawable.mango_pic));
 mFruitList.add(new Fruit("orange", R.drawable.orange_pic));
 mFruitList.add(new Fruit("pear", R.drawable.pear_pic));
 mFruitList.add(new Fruit("pineapple", R.drawable.pineapple_pic));
 mFruitList.add(new Fruit("strawberry", R.drawable.strawberry_pic));
 mFruitList.add(new Fruit("watermelon", R.drawable.watermelon_pic));
 } 

 class FruitAdapter extends RecyclerView.Adapter<ViewHolder> { 

 // 返回ViewHolder对象
 @Override
 public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
 return new ViewHolder(View.inflate(getApplicationContext(), R.layout.listview_item, null));
 } 

 // 刷新界面,为ViewHolder两个属性设置内容
 @Override
 public void onBindViewHolder(ViewHolder holder, int position) {
 Fruit fruit = mFruitList.get(position);
 holder.iv.setImageResource(fruit.imageId);
 holder.tv.setText(fruit.name);
 } 

 @Override
 public int getItemCount() {
 // FruitAdapter是MainActivity的内部类,可以直接使用外部类的成员变量
 return mFruitList.size();
 }
 } 

 static class ViewHolder extends RecyclerView.ViewHolder {
 ImageView iv;
 TextView tv; 

 ViewHolder(View itemView) {
 super(itemView);
 iv = (ImageView) itemView.findViewById(R.id.iv);
 tv = (TextView) itemView.findViewById(R.id.tv);
 }
 } 

} 
package com.itheima74.recyclerview; 

/**
 * Created by My on 2017/3/2.
 */ 

class Fruit {
 String name;
 int imageId; 

 Fruit(String name, int imageId) {
 this.name = name;
 this.imageId = imageId;
 }
}

代码如下:

<img src="http://img.blog.csdn.net/20170303085928987?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemh1NjIwMTk3Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Android使用RecyclerView实现列表数据选择操作

    这些时间做安卓盒子项目,因为安卓电视的显示器比较大,所以一个界面显示 很多数据 ,最多的时候,一个Actvity中用到了好几个RecyclerView. 在RecyclerView中实现Item选中处理时,发现用CheckBox的OnCheckedChangeListener监听事件时,会达不到预期,所以用了OnClickListener来实现. 主界面代码: public class CheckRecyclerViewActivity extends AppCompatActivity imp

  • Android使用Recyclerview实现图片水平自动循环滚动效果

    简介: 本篇博客主要介绍的是如何使用RecyclerView实现图片水平方向自动循环(跑马灯效果) 效果图:  思路: 1.准备m张图片 1.使用Recyclerview实现,返回无数个(实际Interge.MAXVALUE)item,第n个item显示第n%m张图片 3.使用recyclerview.scrollBy  每个一段时间水平滚动一段距离 4.通过layoutManager.findFirstVisibleItemPosition()获取当前显示的第一个View是第几个item,上面

  • Android RecyclerView基本使用详解

    什么是RecyclerView 关于RecyclerView,是一个主要用于展示和回收View的有一个控件,在官用了一句话来概括 RecyclerView 是一种通过提供有限的数据项窗口有效显示大数据集的视图. 基提供几个基本的功能, 控制其显示的方式 --->LayoutManager-(必需) 控制Item间的间隔 --->ItemDecoration--(非必需) 控制Item增删的动画--->ItemAnimator--(非必需) 以上就可以完成ListView大部的功能了,但是

  • android使用ItemDecoration给RecyclerView 添加水印

    前言 项目中有使用到水印效果,如下图所示.在实现过程中,最终选用ItemDecoration来实现,其中有两大步骤:自定义Drawable来完成水印图片.使用ItemDecoration来布局水印. Demo在 WatermarkFragment 中,效果图如下: 1. 自定义Drawable完成水印图片 public class MyDrawable extends Drawable { Paint mPaint; public MyDrawable() { mPaint = new Pain

  • Android ExpandableRecyclerView使用方法详解

    本文为大家分享了Android ExpandableRecyclerView的使用,供大家参考,具体内容如下 1.目前只支持两级结构. 2.支持所有组同时全部展开,支持同一时间只能展开一组. 3.GroupView,ChildView高度自定义. 4.支持初始化数据时,指定展开某组数据. 5.支持GroupItem,ChildItem的Onlick,OnLongClick事件. 6.展开收起带动画. 效果图: 使用步骤:加入依赖 compile 'com.drawthink:expandable

  • RecyclerView的简单使用

    RecyclerView的功能很强大,本文为大家分享RecyclerView的简单使用方法. 效果图: activity_main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertica

  • Android RecyclerView使用方法详解

    本文为大家分享了Android RecyclerView使用方法,供大家参考,具体内容如下 1.RecyclerView 是在Android support - v7 里面提供的 新的列表组件,用来替代传统的ListView. . 要使用RecyclerView 需要给我工程添加 support:recycle-v7 的支持: app 右键 - Open Module Settings - Dependencies(依赖项) - 点 + 号 - 添加一个库 upport:recycle-v7 

  • Android使用分类型RecyclerView仿各大商城首页

    **正所谓,一入商城深似海~ 商城类的App,确实是有许多东西值得学习,但是只要略微斟酌一下,你又会发现,它们之间存在着许多不谋而合的相似,也就是所谓的雷同~既然如此,让我们也来接下地气,先从一个简单的首页做起吧~** 实现的效果如下图: 1.大布局就是一个简单的RecyclerView: 也可以通过添加多个header实现 4.这里我仅以四种类型为例 /** * 4种类型 */ /** * 类型1:黑色星期五--使用banner实现 */ public static final int BLA

  • Android如何使用RecyclerView打造首页轮播图

    先看看效果图: 停在中间自动翻页 序言:最近接到一个任务,做一个类似上面自动翻页的功能.可以看到,这一屏中有三张图片显示出来了,有两张没有显示完全,看到设计图的时候第一反应是可以用viewpager来实现,但是任务却跟你开了一个天大的玩笑,要求是以最左边的图片为基准,也就是说,左边的图片也得显示完全,就像下图所示,后来仔细想想viewpager好像没有这样的功能,也有可能是我不知道,我也没有找到这样的文章或者信息,希望知道的简友私戳交流一下,感激不尽,好了,言归正传 停在左边 在开始之前呢,首先

  • Android使用RecyclerView实现今日头条频道管理功能

    使用过今日头条的伙计们对这个效果肯定很熟悉.拖拽可排序,点击标签后可以删除.今天我们采用RecyclerView来实现. 实现思路: 通过ItemTouchHelper来绑定RecyclerView的子控件触摸事件. 当滑动拖拽的时候,通知适配器来交换两个子控件的显示位置. 更改数据源,使数据源与子空间显示内容一致. 这就是实现的基本思路,是不是很简单?当然,首先要了解一下ItemTouchHelper这哥们儿是干啥的,有什么作用. This is a utility class to add

随机推荐