大家可以通过导入support-v7对其进行使用

 compile 'com.android.support:recyclerview-v7:23.2.1-alpha1'

这里实现ListView,GridView,Staggered(瀑布流)的切换
只是简单的实现,还没有添加和删除功能。

示例图1

示例图2

示例图3

Activity

/*** Created by zzb on 2016/3/30.*/
public class MainActivity extends AppCompatActivity {private RecyclerView mRecycleview;private int[] imgs={R.drawable.a1,R.drawable.a2,R.drawable.a3,R.drawable.a4,R.drawable.a5,R.drawable.a6};private String[] mDatas = {"十几年相思加两斤黄酒,才把这句喜欢说出口。","无人与我立黄昏,无人问我粥可温","与这个世界交手多年,你是否光彩依旧 兴致盎然?"," 瀑布的水逆流而上 \n" +"蒲公英种子从远处飘回,聚成伞的模样, \n" +"太阳从西边升起,\n" +"落向东方。  ","那时我们有梦,\n" +"关于文学, \n" +"关于爱情, \n" +"关于穿越世界的旅行。\n" +"如今我们深夜饮酒, \n" +"杯子碰到一起, \n" +"都是梦破碎的声音。\n" +"\n" +"——北岛《波兰来客》 ","很怀念我们刚认识那会儿,大家都有些拘谨和真诚。 ",};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);setSupportActionBar(toolbar);initviews();mRecycleview.setAdapter(new SimpleAdapter(this, mDatas, imgs));//设置recycleview的布局管理LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false);mRecycleview.setLayoutManager(linearLayoutManager);  mRecycleview.setItemAnimator(new DefaultItemAnimator());FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);fab.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action", null).show();}});}private void initviews() {mRecycleview= (RecyclerView) findViewById(R.id.recyclerview);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.menu_main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {int id = item.getItemId();switch (id){case R.id.action_settings:break;case R.id.listview:mRecycleview.setLayoutManager(new LinearLayoutManager(this));break;case R.id.gridview://列数mRecycleview.setLayoutManager(new GridLayoutManager(this,2));break;case R.id.stagger://列数,垂直方向mRecycleview.setLayoutManager(new StaggeredGridLayoutManager(2, OrientationHelper.VERTICAL));break;default:break;}return super.onOptionsItemSelected(item);}
}

Adapter

/*** Created by zzb on 2016/3/30.*/
public class SimpleAdapter extends RecyclerView.Adapter<MyViewHolder> {private LayoutInflater mInflater;private Context mContext;private String[] mDatas;private int[] imgs;public SimpleAdapter(Context context, String[] datas,int[] pic) {this.mContext = context;this.mDatas = datas;this.imgs=pic;mInflater = LayoutInflater.from(context);}@Overridepublic MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {View view = mInflater.inflate(R.layout.item_textview, parent, false);MyViewHolder viewHolder = new MyViewHolder(view);return viewHolder;}/**** @param holder* 专门用来绑定ViewHolder里的控件和数据源中position位置的数据。*/@Overridepublic void onBindViewHolder(MyViewHolder holder, int position) {holder.mImageView.setImageResource(imgs[position]);holder.tv.setText(mDatas[position]);}@Overridepublic int getItemCount() {return mDatas==null ? 0 : mDatas.length;}
}class MyViewHolder extends RecyclerView.ViewHolder {TextView tv;CardView cd;ImageView mImageView;public MyViewHolder(View itemView) {super(itemView);tv = (TextView) itemView.findViewById(R.id.tv_text);cd = (CardView) itemView.findViewById(R.id.cv_item);mImageView= (ImageView) itemView.findViewById(R.id.iv_pic);}
}

Item_view.xml

如果遇到CardView 提示没有,那就手动添加,类似RecycleView的

 compile 'com.android.support:cardview-v7:23.2.1'
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"xmlns:android="http://schemas.android.com/apk/res/android"android:layout_height="wrap_content"android:layout_width="match_parent"android:layout_margin="8dp"android:id="@+id/cv_item"android:foreground="?android:attr/selectableItemBackground"card_view:cardCornerRadius="4dp"card_view:cardBackgroundColor="#795548"card_view:cardElevation="4dp"><LinearLayout
        android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><ImageView
            android:id="@+id/iv_pic"android:layout_width="match_parent"android:layout_height="200dp"android:layout_weight="1"/><TextView
            android:id="@+id/tv_text"android:padding="20dp"android:textColor="#ffffff"android:textAlignment="center"android:layout_width="match_parent"android:layout_height="wrap_content"/></LinearLayout></android.support.v7.widget.CardView>

RecycleView.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"app:layout_behavior="@string/appbar_scrolling_view_behavior"tools:context="com.it.zzb.recycledemo.MainActivity"tools:showIn="@layout/activity_main"><android.support.v7.widget.RecyclerView
        android:id="@+id/recyclerview"android:layout_width="match_parent"android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>
</RelativeLayout>

menu.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"tools:context="com.it.zzb.recycledemo.MainActivity"><itemandroid:id="@+id/action_settings"android:orderInCategory="100"android:title="@string/action_settings"app:showAsAction="never" /><itemandroid:id="@+id/listview"android:orderInCategory="100"android:title="listtview"app:showAsAction="never" /><itemandroid:id="@+id/gridview"android:orderInCategory="100"android:title="gridview"app:showAsAction="never" /><itemandroid:id="@+id/stagger"android:orderInCategory="100"android:title="staggered"app:showAsAction="never" />
</menu>

参考资料

接下来可以参考这个实现添加、删除

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

RecyclerView的使用(3种视图切换)相关推荐

  1. 常用16种视图切换动画

    2019独角兽企业重金招聘Python工程师标准>>> 实现各种页面过渡切换效果.前4种是UIView,后面都是 Core Animation. 下面8种是传说中的私有API(作者测 ...

  2. IPhone 视图切换的的2种方法

    IPhone中视图切换,网上常见的方法都是用viewcontrol,在viewcontrol中插入不同的视图实现,见下面的代码 [self.view insertSubview:self.mainvi ...

  3. 关于在VS2005环境下无法从源视图切换到设计视图的解决方案

    今天在使用VS2005 Coding时,突然出现无法从源视图切换到设计视图的问题,这个急死人了,今天的任务可就完成不了啊.刚开始以为是源代码有语法错误,排查了非常久,没发现语法错误.这是怎么回事呢?试 ...

  4. tableau必知必会之使用参数操作在同一视图切换指标

    前言 我们之前分享过两个"在同一视图切换图表"的例子:如何在同一视图中切换不同图表和使用计算实现同一视图切换相同分析维度的图表. 前者利用容器的方式,可以实现图表在视图物理位置的切 ...

  5. 用Angular制作单页应用视图切换动画

    视图,动画 单页应用(Single Page Web Application)往往有一个基本的要点,那就是把多个视图集成到一个网页内,然后去控制这些视图的显示和隐藏.此外,视图的切换动作几乎都会引入动 ...

  6. php预览ppt,演示文稿幻灯片有哪四种视图模式?

    四种视图模式为:1."普通"视图模式,由大纲栏.幻灯片栏和备注栏组成:2."幻灯片浏览"视图模式,以最小化的形式显示演示文稿中的所有幻灯片:3."备注 ...

  7. StoryBoard 视图切换和传值

    一 于StoryBoard相关的类.方法和属性 1 UIStoryboard // 根据StoryBoard名字获取StoryBoard+ (UIStoryboard *)storyboardWith ...

  8. android系统动态切换输入法,一种动态切换Android系统输入法的弹出模式的方法与流程...

    技术特征: 1.一种动态切换Android系统输入法的弹出模式的方法,其特征在于,包括步骤如下: (1)初始状态下,即软键盘和表情面板都未展开时,为表情面板设置一个默认高度,默认高度的取值范围是230 ...

  9. Oracle VM VirtualBox下各种视图切换

    在一次操作变换VirtualBox下视图时,莫名菜单项全不见了,后通过热键的选择方式更改回来了,实属庆幸啊,废话不多说,在这里说一下VirtualBox下视图切换的快捷键: 里面有个Host键,注意这 ...

最新文章

  1. 我先了解一下博客园创建随笔/文章/日记的过程与三者的区别(隐私等级,是否审核等)...
  2. 企业推广OA信息化三大法宝
  3. smarty模板引擎_6-Smarty的内置函数
  4. 国庆七天乐 Day5
  5. 数学理论—— 蒙特卡洛近似
  6. Android 基础概念了解
  7. Scrapy安装报错
  8. 你见过哪些操蛋的代码?切勿模仿! 否则后果自负
  9. 拓端tecdat|Python中的Lasso回归之最小角算法LARS
  10. android 通过浏览器下的apk无法安装_安卓手机必备,文件管理利器!ES文件浏览器特别版安卓软件...
  11. 从客户端登陆服务器的配置文件,从客户端登陆服务器的配置
  12. coreldraw是什么软件好学吗?cdr矢量图形制作工具
  13. 微信小游戏《头脑吃鸡》题库
  14. 剑指Offer——迅雷笔试题+知识点总结
  15. 女神在我玩王者的时候约我看电影,可我又不能挂机坑队友。那就只能写一个帮我打王者荣耀的AI了
  16. 户外佩戴哪款耳机好、户外运动耳机推荐
  17. 企业要融资,增资好还是股权转让好
  18. php小程序地图处理,微信小程序地图 map
  19. 经典非局部均值滤波(NLM)算法python实现(1)
  20. ”好奇号“一切准备就绪即将开始探测火星之旅

热门文章

  1. [人工智能]回溯算法解数独
  2. 微信小程序、多类型资源大全,DNF,LOL等
  3. Docker入门:边玩边学
  4. Electron 教程_20201007
  5. PBOC规范研究之十一 ---复合动态数据认证(转)
  6. MySQL主从同步原理
  7. usb和网络传输速率总结
  8. 网站被恶意攻击,访问不了怎么办
  9. oracle触发器报错语法,oracle触发器
  10. 《乔布斯传》英文原著重点词汇笔记(七)【 chapter five】