位置: 编程技术 - 正文

学习RecyclerView和CardView(recyclerview和scrollview)

编辑:rootadmin

推荐整理分享学习RecyclerView和CardView(recyclerview和scrollview),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:recyclerview和listview,recyclerview 原理,recyclerview 原理,recyclerview基本用法,recyclerview 原理,recyclerview详解,recyclerview和listview,recyclerview的优势,内容如对您有帮助,希望把文章链接给更多的朋友!

之前在GitHub上看一些开源项目源码时,发现有这两个控件,貌似之前一直没有见到过,所以现在决定学习下。 先来看RecyclerView,RecyclerView 组件是一个更高级和伸缩性更强的 ListView,是Android Lollipop中的新widget,使用时和LIstView相比多了一个RecyclerView.LayoutManager,用来测量和定位RecyclerView中每个item的视图,并决定什么时候重用不可见的元素视图。要重用(或回收)视图时,layout manager 会让 adapter 用另外的元素内容替换视图内的内容。

RecyclerView 提供以下内建的 layout manager: LinearLayoutManage:用于显示横向或纵向的滚动列表 GridLayoutManager :用于显示方格元素 StaggeredGridLayoutManager :在 staggered 方格中显示元素

CardView多和RecyclerView一起使用,作为RecyclerView的item,CardView 是一个容器类,继承于 FrameLayout 类,也就拥有FrameLayout 的属性,CardView的最主要的一个特点是可以说设置阴影和圆角:

使用以下属性来自定义CardView: 使用card_view:cardCornerRadius在layout中设置圆角 使用CardView.setRadius在代码中设置圆角 使用card_view: cardElevation来设置 shadow 使用card_view:carBackgroundColor来设置背景颜色,可以让card看起来在浮在背景上

有了一个大概的认识后,就具体通过一个例子学习:

为了使用RecyclerView和CardView需要引入v7 Support Library,这里使用的是Android studio,在项目中的 build.grade文件中的dependencies块中加入如下代码,就可以在老的Android版本使用:

1、 先创建一个CardView 利用一个LinearLayout来放置 CardView,CardView包含两个TextView,用来显示人名和年龄,一个ImageView,用来显示头像。这里要注意因为CardView 是由the Android v7 support library提供,所以他的attributes 不在android:这个命名空间中,必须定义自己的命名空间,并且作为cardView属性的前缀,例如

效果如下:

可以看到CardView四个边角有一个圆角,并且有一个shadow,同时有一个背景色。

2、 创建一个RecyclerView: 步骤一: 在Layout定义

在activity 中获取到:

学习RecyclerView和CardView(recyclerview和scrollview)

步骤二:使用LayoutManager 与ListView不同,RecyclerView 需要LayoutManager来管理其中的Item的位置,可以通过继承RecyclerView.LayoutManager类定义自己的LayoutManager,但是,大多数情况下,只需要使用 LayoutManager 预先定义的子类: LinearLayoutManager GridLayoutManager StaggeredGridLayoutManager

这里使用LinearLayoutManager

步骤三:定义Data

同LIstView相同,RecyclerView也需要一个adapter来获取它的数据,在创建一个adapter之前,先创建一个person类,然后写一个方法来初始化一个List的Person对象:

步骤四:创建一个adapter

继承RecyclerView.Adapter,这个adapter遵循View holder的设计,意味着要定义一个类继承 RecyclerView.ViewHolder,在ListView中一般是我们自己定义的。

接下来,定义一个构造方法,可以将RecyclerView 用来显示的数据传进来,这里,我们的数据格式是一个Person的List

RecyclerView.Adapter有三个我们必须重写的抽象方法,先来看getItemCount()方法,这个方法返回传进来的数据的条数:

接下来是重写onCreateViewHolder ()方法,这个方法在自定的ViewHolder 需要初始化的时候调用,需要指明RecyclerView 每个Item需要使用的layout,通过LayoutInflater加载进来。

最后,重写onBindViewHolder ()方法,来指明每个Item中的内容,有点类似ListView的adapter中的getView()方法。

步骤五:使用Adapter

这个就很简单了.

最后的效果如下:

PopupWindow中嵌套EditText不能粘贴的问题 之前在项目中遇到个问题就是写一个简单的评论框,当时是用popupwindow写的,里面嵌套Edittext,但刚做完就碰到个问题,就是虽然Edittext获得焦点但是不

ROM开发 系统下载应用开发 一、下载列表数据的分块显示下载文件内容的数据库查询需要用到frameworksbasecorejavaandroidapp目录下的DownloadManager.java类,若要下载的列表数据分块显

android 检测网络状况 一.编写目的在android开发中,很多时候我们都需要网络交互数据。但在这之前,我们一般会判断网络,这样一方面能使代码更合理,避免无谓的网络访问

标签: recyclerview和scrollview

本文链接地址:https://www.jiuchutong.com/biancheng/382192.html 转载请保留说明!

上一篇:Android 之 XML文件 初窥(android xml文件有哪几种布局方式)

下一篇:PopupWindow中嵌套EditText不能粘贴的问题(wpf窗口嵌套)

  • 附列资料第8栏
  • 抄税报税流程图片
  • 注册会计师税法真题
  • 城镇土地使用税的征税范围
  • 坏账核销抵税
  • 培训机构财务怎么做账
  • 年报中的工会经费是什么
  • 付款方式分期付款
  • 农民为什么没有说理的地方
  • 多交的季度所得税怎么算
  • 企业所得税中的不征税收入有哪些
  • 个人非货币性资产出资 个人所得税
  • 进项大于销项的分录怎么写
  • 货代企业所得税优惠政策
  • 现金采购合理吗
  • 制造费用月末需要结转吗
  • 公司招聘费属于什么科目
  • 出售已计提减值准备的固定资产
  • 暂估原材料已领用还红冲吗
  • 缴纳投标保证金
  • 纺织厂收购棉花如何计税?
  • 雇主责任保险
  • 购买的无形资产入账价值
  • 上年多计提所得税怎么做会计分录
  • 损益类科目反映企业在一定期间内利润或亏损,可以分为
  • 入库单的金额填不填价税合计
  • win11如何设置安装位置
  • Win11 Build10.0.22000.51预览版正式推送 (附完整更新日志)
  • php oci_connect
  • 溢价对外投资账务处理
  • win7系统禁用u盘
  • 转回已核销的坏账
  • 事业单位接受捐赠固定资产入账
  • thinkphp接收ajax数据
  • php安装swoole扩展
  • vue 播放视频流
  • 一般纳税人零申报怎么报税
  • KITTI数据集可视化(一):点云多种视图的可视化实现
  • 社保台账显示未托收
  • 残保金相关内容有哪些
  • 工资表怎么每个都有表头
  • 租车费开票属于哪个类别
  • 个体工商户要做账报税吗
  • mysql 5.5 5.6 5.7
  • 电影卡购买
  • 用公司名义买的东西送礼需要归还么
  • 长期待摊费用未摊销完一次性处理怎么走
  • 进项转出分录需要盖章吗
  • 房地产行业增值税预缴
  • 实收资本未实缴是否罚款
  • 农业公司土地租赁
  • 企业承担个人所得税分录怎么做
  • 网上报税零申报流程演示2018
  • 发票上的数量怎么填写
  • 冲减应收账款是什么意思
  • 银行对账单怎么打印
  • 设置账本应当遵循哪些原则
  • 工业企业应付会计工作内容
  • 网页提示堆栈溢出怎么解决
  • win8 vmware
  • WINDOWS系统中删除放入回收站的文件占用什么空间
  • 联想yogas
  • enterasys
  • winxp怎么改壁纸
  • mac开机慢开机以后特别卡
  • win10更换登陆账号
  • 虚拟机远程控制局域网
  • 怎么放大linux字体
  • Android OpenGL ES(五)----进入三维正交投影和透视投影推导
  • js获取url的html
  • perl sub
  • linux dig命令
  • 批处理替换文件
  • linux哪些方法可以查看命令的详细信息
  • python错误代码
  • android自定义view流程
  • 江苏省国家税务局官网
  • 金税三期个税下载官网手机版
  • 进口麦片销售公司
  • 加油的增值税发票可以抵扣吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设