Android 控件 RecyclerView简单使用

1.导依赖库

 implementation 'com.android.support:recyclerview-v7:27.1.1'implementation 'com.github.bumptech.glide:glide:4.8.0'//图片

2.布局

 <android.support.v7.widget.RecyclerViewandroid:id="@+id/recycle_view"android:layout_width="match_parent"android:layout_height="match_parent" />

3.在MainActivity找到控件

 RecyclerView recyclerView = findViewById(R.id.recycle_view);// LinearLayoutManager layoutManager = new LinearLayoutManager(this );//设置布局管理器// GridLayoutManager gridLayoutManager = new GridLayoutManager(this,3);StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);recyclerView.setLayoutManager(staggeredGridLayoutManager);//设置为垂直布局,这也是默认的// layoutManager.setOrientation(OrientationHelper. VERTICAL);//设置AdapterNormalAdapter recycleAdapter = new NormalAdapter(list);recyclerView.setAdapter(recycleAdapter);//设置分隔线//recyclerView.addItemDecoration( new DividerGridItemDecoration(this ));//设置增加或删除条目的动画recyclerView.setItemAnimator( new DefaultItemAnimator());

4.适配器

 创建一个继承RecyclerView.Adapter<VH>的Adapter类package mvp.com.example.recyclerview_demo.adapter;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;import com.bumptech.glide.Glide;import java.util.List;import mvp.com.example.app.MyApp;import mvp.com.example.bean.User;import mvp.com.example.recyclerview_demo.R;// ① 创建Adapterpublic class NormalAdapter extends RecyclerView.Adapter<NormalAdapter.VH>{//② 创建ViewHolderpublic static class VH extends RecyclerView.ViewHolder{public final TextView title;public final ImageView imageView;public VH(View v) {super(v);title = (TextView) v.findViewById(R.id.text_title);imageView = (ImageView) v.findViewById(R.id.image_view);}}private List<User> mDatas;public NormalAdapter(List<User> data) {this.mDatas = data;}//③ 在Adapter中实现3个方法@Overridepublic void onBindViewHolder(VH holder, int position) {holder.title.setText(mDatas.get(position).getTitle());Glide.with(MyApp.getContext()).load(mDatas.get(position).getUrl()).into(holder.imageView);holder.itemView.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//item 点击事件}});}@Overridepublic int getItemCount() {return mDatas.size();}@Overridepublic VH onCreateViewHolder(ViewGroup parent, int viewType) {//LayoutInflater.from指定写法View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.itme_layout, parent, false);return new VH(v);}}--------------------- 作者:紫焰--星 来源:CSDN 原文:https://blog.csdn.net/qq_42663566/article/details/84945130 版权声明:本文为博主原创文章,转载请附上博文链接!

Android 控件 RecyclerView简单使用相关推荐

  1. Android 控件 RecyclerView 看这篇就够了

    [Android 控件 RecyclerView] 概述 RecyclerView是什么 从Android 5.0开始,谷歌公司推出了一个用于大量数据展示的新控件RecylerView,可以用来代替传 ...

  2. Android 控件 RecyclerView

    [Android 控件 RecyclerView] 概述 RecyclerView是什么 从Android 5.0开始,谷歌公司推出了一个用于大量数据展示的新控件RecylerView,可以用来代替传 ...

  3. android 日程安排view,RecyclerView 列表控件中简单实现时间线

    时间 时间,时间,时间啊:走慢一点吧- 看见很多软件中都有时间线的东西,貌似天气啊,旅游啊什么的最多了:具体实现方式很多,在本篇文章中讲解一种自定义View封装的方式. 效果 先来看看效果. 分析 软 ...

  4. Android 第十八课 强大的滚动控件 RecyclerView

    步骤: 一.添加依赖库 compile'com.android.support:recyclerview-v7:26.1.0' 二.在activity_mian.xml中,添加RecyclerView ...

  5. 最简单也最难——如何获取到Android控件的高度,获取android控件

    最简单也最难--如何获取到Android控件的高度,获取android控件 问题 如何获取一个控件的长和高,相信很多朋友第一眼看见这个问题都会觉得很简单,直接在onCreate里面调用getWidth ...

  6. Android动态加载XML文件及控件来简单实现QQ好友印象的功能

    在android开发中,我们常常会遇到界面布局控件不确定的情况.由于某些功能的原因或者为了体现某些app的特色等这些原因会导致我们在实现界面布局时需要动态去加载一些控件,那么下面就来介绍一下如何用动态 ...

  7. Android快速入门之滚动控件RecyclerView

    之前已经用过了ListView控件,虽然可以实现许多放入功能,但是其扩展性还是有一定缺陷的,比如所无法实现横向布局,为此,Android中提供了一个更强大的滚动控件--RecyclerView,它可以 ...

  8. Android控件点击圆形阴影反馈解决方案

    Android控件点击圆形阴影反馈解决方案 愿景 对于手机App而言,没有反馈效果的按钮使用体验是不舒服的.最近在深入学习Material Design,对其中的ripple效果比较感兴趣.我想着尝试 ...

  9. Android 控件架构及View、ViewGroup的测量

    附录:示例代码地址 控件在Android开发的过程中是必不可少的,无论是我们在使用系统控件还是自定义的控件.下面我们将讲解一下Android的控件架构,以及如何实现自定义控件. 1.Android控件 ...

最新文章

  1. 爬取小说2--协程间通信Python
  2. 很多优秀的软件公司和开发者为什么愿意开源和共享?
  3. 941. Valid Mountain Array 有效的山脉数组
  4. java opencv人脸识别_java+opencv+intellij idea实现人脸识别
  5. 中值滤波medianBlur
  6. mysql怎么保存视图_MySQL的视图和存储
  7. linux cp 强行覆盖
  8. 全平台 Chrome 浏览器 44.0.2403.89 版本下载
  9. vivado和modelsim联合仿真实现奇分频
  10. 【vedio】html 视频有声音没有图像
  11. 学术论文海报模板_推荐 | 绘制学术论文中的图表一般有哪些专业的软件?
  12. NJU机器学习导论课程笔记之写作缘由
  13. C++ 泛型编程-模板
  14. java.lang.NoClassDefFoundError: org/apache/hive/service/cli/thrift/TCLIService$Iface
  15. oracle 更改归档位置,oracle更改归档路径
  16. 老司机 iOS 周报 #48 | 2018-12-17
  17. IBL-镜面反射(预滤波篇)
  18. 金融安全算法介绍系列6——RSA
  19. 蓝牙耳机延迟受什么影响?有没有办法能完全解决延迟?
  20. 2020年终总结-2021新年Flag

热门文章

  1. PHP:关于PHP商城秒杀防止超卖问题
  2. 关于对vue-particle-effect-button的使用
  3. [Unity]VRTK V4的导入和使用
  4. javascript高级程序设计---模式设计
  5. 质量流量计雷电击故障的应对策略
  6. 如何知道你的app进入了前台还是后台
  7. 【从零开始学c++】4.char数组和string的千丝万缕
  8. robocode调试技巧
  9. Ty-Mysql函数笔记
  10. NER命名实体识别,基于数据是字典的形式怎么识别