基于RecyclerView实现横向GridView效果

本文实例为大家分享了RecyclerView实现横向GridView效果展示的具体代码,供大家参考,具体内容如下

要使用RecyclerView,首先要在build.gradle文件中添加依赖compile 'com.android.support:appcompat-v7:24.1.0'

效果图

布局如下

<?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.dxx.recycleviewtestdemo.MainActivity">
 <android.support.v7.widget.RecyclerView
  android:id="@+id/rv"
  android:layout_width="match_parent"
  android:layout_height="200dp"
  android:layout_margin="20dp"/>
</RelativeLayout>

使用方法:

package com.dxx.recycleviewtestdemo;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;

public class MainActivity extends AppCompatActivity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  RecyclerView rv = (RecyclerView) findViewById(R.id.rv);
  rv.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false));//设置布局管理器
  rv.setAdapter(new MyRVAdapter(this));
 }
}

其Adapter要继承RecyclerView.Adapter,在Adapter中药先定义ViewHolder,并继承RecyclerView.ViewHolder;如:

public class ViewHolder extends RecyclerView.ViewHolder{
  public ViewHolder(View itemView) {
   super(itemView);
  }
  ImageView rv_item_image;
  TextView rv_item_tv;
 }

在onCreateViewHolder进行初始化操作,在onBindViewHolder中对各种事件进行处理,getItemCount返回的是 RecyclerView的长度,其布局与代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_marginLeft="18dp"
    android:layout_marginBottom="5dp"
    android:orientation="vertical">

 <ImageView
  android:id="@+id/rv_item_image"
  android:layout_width="82dp"
  android:layout_height="82dp"
  android:scaleType="centerCrop"
  android:src="@drawable/shiqikuangsan"/>

 <TextView
  android:id="@+id/rv_item_tv"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_marginTop="9dp"
  android:textSize="15sp"/>
</LinearLayout>
package com.dxx.recycleviewtestdemo;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

/**
 * Created by duxiaxing on 2016/7/27.
 */
public class MyRVAdapter extends RecyclerView.Adapter<MyRVAdapter.ViewHolder> {
 private Context context;
 public MyRVAdapter(Context context){
  this.context = context;
 }

 @Override
 public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  View view = LayoutInflater.from(context).inflate(R.layout.layout_rv_item,parent,false);
  ViewHolder holder = new ViewHolder(view);
  holder.rv_item_image = (ImageView) view.findViewById(R.id.rv_item_image);
  holder.rv_item_tv = (TextView) view.findViewById(R.id.rv_item_tv);
  return holder;
 }

 @Override
 public void onBindViewHolder(ViewHolder holder, int position) {
  holder.rv_item_tv.setText(position + "");
 }

 @Override
 public int getItemCount() {
  return 9;
 }

 public class ViewHolder extends RecyclerView.ViewHolder{
  public ViewHolder(View itemView) {
   super(itemView);
  }
  ImageView rv_item_image;
  TextView rv_item_tv;
 }
}

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

(0)

相关推荐

  • 详解Android使GridView横向水平滚动的实现方式

    Android为我们提供了竖直方向的滚动控件GridView,但如果我们想让它水平滚动起来,就需要自己实现了. 以下使用的测试数据datas集合都为List<ResolveInfo>类型,用来存储手机中的所有App public static List<ResolveInfo> getAppData(Context context) { PackageManager packageManager = context.getPackageManager(); Intent mainI

  • Android开发基于ViewPager+GridView实现仿大众点评横向滑动功能

    先给大家展示下效果图,如果大家大家感觉不错,请参考实现思路及代码 1 ViewPager类提供了多界面切换的新效果. 新效果有如下特征: [1] 当前显示一组界面中的其中一个界面. [2] 当用户通过左右滑动界面时,当前的屏幕显示当前界面和下一个界面的一部分. [3]滑动结束后,界面自动跳转到当前选择的界面中 2 介绍里面几个比较重要的方法与接口 1,OnPageChangeListener ViewPager页面进行切换监听接口 其中我们经常要实现public void onPageSelec

  • Android中RecyclerView实现横向滑动代码

    RecyclerView 是Android L版本中新添加的一个用来取代ListView的SDK,它的灵活性与可替代性比listview更好.本文给大家介绍Android中RecyclerView实现横向滑动代码,一起看看吧. android.support.v7.widget.RecyclerView 功能:RecyclerView横向滑动 控件:<android.support.v7.widget.RecyclerView /> Java类:RecyclerView.GalleryAdap

  • Android开发实现横向列表GridView横向滚动的方法【附源码下载】

    本文实例讲述了Android开发实现横向列表GridView横向滚动的方法.分享给大家供大家参考,具体如下: Android 横向列表实现,可左右滑动,如下图 1. 主界面布局代码:activity_main.xml a.包裹HorizontalScrollView控件是GirdView横向滚动的基本条件 b.GirdView外包裹LinearLayout是java代码中参数设置的必要条件 <?xml version="1.0" encoding="utf-8"

  • Android使用GridView实现横向滚动效果

    本文实例为大家分享了Android使用GridView实现横向滚动效果的具体代码,供大家参考,具体内容如下 第一次做横向滑动,看了一些列子,基本就2总:HorizontalListView和GridView.考虑的了下选择用比较熟的GridView,并且在2种方案都使用过,根据本人实际情况,采用了更适合的GridView. 也希望看过这篇博客的大神们,能指点下HorizontalListView和GridView两个方案的优缺点. 思路: XML界面:用HorizontalScrollView

  • Android GridView实现横向列表水平滚动

    本文实例为大家分享了Android GridView实现横向列表水平滚动的具体代码,供大家参考,具体内容如下 有时候根据项目需要,使用可横向滑动的GridView.仅以该文记录一下,毕竟没什么技术含量. 1.主界面布局代码:activity_main.xml.设置android:numColumns="auto_fit"是因为可以不定项的添加子项. <?xml version="1.0" encoding="utf-8"?> <

  • 基于RecyclerView实现横向GridView效果

    本文实例为大家分享了RecyclerView实现横向GridView效果展示的具体代码,供大家参考,具体内容如下 要使用RecyclerView,首先要在build.gradle文件中添加依赖compile 'com.android.support:appcompat-v7:24.1.0' 效果图 布局如下 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&q

  • RecyclerView实现横向滚动效果

    本文实例为大家分享了RecyclerView实现横向滚动效果的具体代码,供大家参考,具体内容如下 布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layo

  • Android Recyclerview实现水平分页GridView效果示例

    昨天UI妹子给了给需求,展示水平分页效果,而且第二页要默认显示一部分,提示用户水平可以滑动,先上效果图: 很明显横向滑动的分页,第一反应就是使用ViewPager,毕竟只要通过自定义ViewPager,实现这个效果还是很容易,但是实际中问题时,当前模块是Recyclerview中某一个Holder,为了性能,肯定尽量使用Recyclerview去复用View,而且ViewPager并不能复用,所以考虑之后,还是要用Recyclerview去实现. 解决思路 既然打算用Recyclerview实现

  • jQuery基于ajax实现带动画效果无刷新柱状图投票代码

    本文实例讲述了jQuery基于ajax实现带动画效果无刷新柱状图投票代码.分享给大家供大家参考.具体如下: 这里介绍的jQuery ajax投票特效,带动画效果 类似进度条风格的柱状图,以你最喜欢的编程语言是哪一种为例来演示投票效果,以Ajax方式无刷新投票,每点击一次,横向的柱状图就会增长一节.如果在火狐或chrome下浏览,那些柱状图横条是圆角的,在IE8下则无此效果. 运行效果截图如下: 具体代码如下: <!DOCTYPE html> <html> <head>

  • 基于jQuery创建鼠标悬停效果的方法

    本文实例讲述了基于jQuery创建鼠标悬停效果的方法.分享给大家供大家参考.具体实现方法如下: 1. 创建HTML: <ul> <li><a href="/tv"><img src="images/tv_off.gif" class="mainnav"></a></li> </ul> 2. 选择.mainnav的class: $(".mainnav&qu

  • 基于JS实现翻书效果的页面切换样式

    本文给大家分享一段代码,基于js代码实现的翻书效果的页面切换样式,具体代码如下所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <

  • 基于javascript实现窗口抖动效果

    本文实例讲解了基于javascript实现窗口抖动效果的详细代码,分享给大家供大家参考,具体内容如下 效果图: 鼠标点击,窗口实现抖动. 具体代码: <!DOCTYPE HTML> <html> <head> <meta charset="gb2312"/> <title>窗口登陆效果</title> <style type="text/css"> #win { position:r

  • JS基于面向对象实现的选项卡效果示例

    本文实例讲述了JS基于面向对象实现的选项卡效果.分享给大家供大家参考,具体如下: 中间过渡环节:把面向过程的程序,改写成面向对象的形式 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <style> #div1 input {background:#CCC;} #div1 .active {background:yellow;} #div1 div {width:200px; height:200

  • 基于JavaScript实现图片剪切效果

    学会如何获取鼠标的坐标位置以及监听鼠标的按下.拖动.松开等动作事件,从而实现拖动鼠标来改变图片大小. 还可以学习css中的clip属性. 一.CSS实现图片不透明及裁剪效果. 图片剪切三层结构 1.第一层opacity,给图层设置透明度 2.第二层clip,clip属性:对图片进行裁剪,实现图像的一部分显示,其他部分进行隐藏 3.第三层选取框absolute(与第二层重叠的),包括八个触点的效果 html代码: <div id="box"> <img src=&quo

随机推荐