首先添加包的依赖

    compile 'com.android.support:recyclerview-v7:24.2.1'compile 'com.android.support:cardview-v7:22.2.1'

布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"tools:context="com.example.konghao.recyclerview.MainActivity"><android.support.v4.widget.SwipeRefreshLayoutandroid:id="@+id/SwipeRefreshLayout"android:layout_width="match_parent"android:layout_height="match_parent"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><android.support.v7.widget.RecyclerViewandroid:id="@+id/RecyclerView"android:layout_width="match_parent"android:layout_height="wrap_content"/></LinearLayout></android.support.v4.widget.SwipeRefreshLayout></LinearLayout>

item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:orientation="vertical"android:layout_margin="5dp"android:layout_width="match_parent"android:layout_height="wrap_content"><android.support.v7.widget.CardViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_margin="5dp"app:cardCornerRadius="10dp"android:elevation="10dp"><TextViewandroid:layout_margin="10dp"android:textSize="18sp"android:id="@+id/name"android:layout_width="match_parent"android:layout_height="wrap_content"/></android.support.v7.widget.CardView></LinearLayout>

User类

public class User {private String name;private int id;public User(String name,int id){this.id = id;this.name = name;}public int getId(){return id;}public String getName(){return name;}
}

适配器UserAdapter.java

public class UserAdapter extends RecyclerView.Adapter<UserAdapter.ViewHolder>{private List<User> users;static class ViewHolder extends RecyclerView.ViewHolder{TextView name;public ViewHolder(View view){super(view);name = (TextView) view.findViewById(R.id.name);}}public UserAdapter(List<User> users){this.users = users;}@Overridepublic ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item,parent,false);ViewHolder holder = new ViewHolder(view);return  holder;}@Overridepublic void onBindViewHolder(ViewHolder holder, int position) {User user = users.get(position);holder.name.setText(user.getName());}@Overridepublic int getItemCount() {return users.size();}
}

MainActivity.java

public class MainActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener{private List<User> users = new ArrayList<>();private RecyclerView recyclerView;//private LinearLayout linearLayout;private SwipeRefreshLayout swipeRefreshLayout;private UserAdapter adapter;private static final int UPDATE = 1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);recyclerView = (RecyclerView) findViewById(R.id.RecyclerView);swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.SwipeRefreshLayout);swipeRefreshLayout.setOnRefreshListener(this);//linearLayout = (LinearLayout) findViewById(R.id.visible_layout);LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);recyclerView.setLayoutManager(linearLayoutManager);initData();}Handler handler = new Handler(){public void handleMessage(Message msg){super.handleMessage(msg);switch(msg.what){case UPDATE:{//linearLayout.setVisibility(View.GONE);swipeRefreshLayout.setRefreshing(false);}break;}}};public void initData(){for(int i=0;i<30;i++){users.add(new User("孔昊" + i,i));}adapter = new UserAdapter(users);recyclerView.setAdapter(adapter);}@Overridepublic void onRefresh() {//linearLayout.setVisibility(View.VISIBLE);swipeRefreshLayout.setRefreshing(true);//swipeRefreshLayout.setProgressViewOffset(false,0,100);handler.sendEmptyMessageDelayed(UPDATE,2000);}
}

效果

Android学习之SwipeRefreshLayout+RecyclerView+CardView相关推荐

  1. Android横向滚动卡片,RecyclerView+CardView实现横向卡片式滑动效果

    现在来介绍两种控件recyclerview和cardview,并通过实例将它们结合在一起实现一种横向卡片式滑动效果. 1.recyclerview recyvlerview是android sdk 新 ...

  2. Android学习笔记:Android基础知识点(不断更新中)

    1.Android学习笔记:OkHttp 2.Android学习笔记:更新UI的方法(UI线程和非UI线程) 3.Android学习笔记:Volley 4.Android学习笔记:Handler 5. ...

  3. 学习笔记:Recyclerview、SwipeRefreshLayout、Cardview的使用

    一.Recyclerview 1.简介 Recyclerview是Android 5.0新增的一个列表控件.顾名思义,recycler view,只负责回收和复用视图,高度的解耦,可灵活定制,轻松实现 ...

  4. Android开发学习之RecyclerView+CardView的使用

    介绍 RecyclerView是一种高级的ListView,以后可以用它来代替ListView CardView则是一种更好看的视图,使用比较简单,这里我把他俩放在一起介绍 基本使用步骤 导入依赖 我 ...

  5. Android学习之RecyclerView带刺的玫瑰

    上述小诗先逗比一下,接下来切入正题: 自从RecyclerView的诞生起,人们就为她贴上了高贵的标签:她灵活华丽高度可定制,而另一边ListView确已是明日黄花:人们趋之若鹜的奔向了Recycle ...

  6. Android学习笔记——RecyclerView编写气泡聊天

    声明 本次的代码部分参考郭霖--<第一行代码>,学习recyclerview章节后手动编写的. .9图制作 .9图素材是本人用Windows附件中的画图工具制作的(就是找不到资源),然后导 ...

  7. ANDROID L——RecyclerView,CardView导入和使用(Demo)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 简介: 这篇文章是ANDROID L--Material Design详解(UI控件)的一 ...

  8. android学习日记 RecyclerView的简单使用

    android学习日记 RecyclerView的简单使用 文章目录 android学习日记 RecyclerView的简单使用 一.如何使用RecyclerView? 二.使用步骤 1.首先在bui ...

  9. Android学习之-RecyclerView带刺的玫瑰

    我的小鱼你醒了, 还认识早晨吗? 昨夜你曾经说, 愿夜幕永不开启 - 上述小诗先逗比一下,接下来切入正题: 自从RecyclerView的诞生起,人们就为她贴上了高贵的标签:她灵活华丽高度可定制,而另 ...

最新文章

  1. 自定义的 ListBoxItem 自适应ListBox的宽度
  2. CNCF 宣布首个中国原创项目 Harbor 毕业 | 云原生生态周报 Vol. 55
  3. 《机器学习》 周志华学习笔记第五章 神经网络(课后习题) python实现
  4. CV_Sicong Liu
  5. 怎样教一台计算机区分猫和狗?一文零基础入坑机器学习
  6. 论文html5的英文文献,html论文英文参考文献(优质论文108个).pdf
  7. CentOS7 安装Mysql5.6 后启动失败处理 The server quit without updating PID file
  8. c语言怎么定义一个条件变量,C++ 条件变量(condition_variable)
  9. mini139聊天软件
  10. 对输入的两个整数按大小顺序输出
  11. 5G+AIoT“零碳”解决方案 | 模组助力“4S” 融合的新一代智能汽车驶入快车道
  12. 我,30岁,部队服役5年,零基础转大数据
  13. flash读写学习笔记与spi接口及简单测试验证
  14. 淘宝双十一最强星秀猫组队人气比拼活动规则和攻略
  15. mysql多表条件查询_mysql 多表 多个条件 查询
  16. 幼儿园调查过程怎么写_关于幼儿园的调查报告格式及范文
  17. uni.showToast() 提示
  18. 电子证书管理系统前台_电商平台后台之商品管理系统组成模块
  19. python经典面试题100例 面试宝典
  20. 什么是CSM(Certified Scrum Master) 敏捷认证

热门文章

  1. C#使用iTextSharp合并pdf,添加页码
  2. c#如何实现叫号操作_基于.NET的排队语音叫号系统设计与实现
  3. Lorem在HTML的使用
  4. Github上设置小图标/小徽章
  5. DL之DSSD:DSSD算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  6. [Windows]_[中级]_[界面程序打开控制台输出-转发输出到控制台]
  7. 安装Anaconda出现Error opening file for writing错误最简单有效的办法
  8. 李 小 龙 个 人 训 练 表
  9. 人工智能实战2019第七次作业(黄金点) 16721088 焦宇恒
  10. Java编程序哥德巴赫猜想