RecycleView即可回收视图
具体介绍:
RecycleView是增强版的ListView。ListView有诸多缺点,比如效率低、不能横向滚动。
RecycleView的优点:
1.RecycleView可以有多种布局方式,这个例子中使用到的是列表式的纵向滚动。
还可以实现横向滚动和瀑布流流式布局。修改这个属性的地方是在LayoutManager这里。
2.RecycleView可以分别为整个itemView设置点击事件,也可以单独为itemView中的某个组件设置点击事件。并且这两种设置都很容易实现。这是ListView不具备的特点。
2.使用RecycleView,建立itemView布局时,简单的建议使用线性布局,约束布局太难调节了
前言:这里删掉了Room(2)使用的删除了更新功能
第一阶段:使用RecycleView、创建Adapter及Adapter内部的Holder
1.在layout中使用RecycleView组件
2.写适配器类
适配器类中要有一个Holder去管理每个View的资源
重写三个方法
3.在主页面中使用
第二阶段:将cell_normal布局改为cell_card布局。
CardView:是用于实现卡片式布局效果的重要控件,实际上也是一个frameLayout(帧布局),只是额外提供了圆角和阴影,看上去有立体效果。
操作注意:
最外层的约束布局或者线性布局调整为包裹内容才能卡片紧挨着,也就是根节点。否则就是一个卡片一页卡片的效果再CardView的layout_margin中设置,才能显示出立体效果。还有其他参数可以设置,比如角的弧度。用的时候可以去网络搜索。
第三阶段:
加上一个Switch,用于切换普通视图和卡片视图
简单来说,
1.在Adapter中添加一个布尔值参数,代表是否选卡片视图。
2.在Adapter绑定.layout文件时根据上述布尔值设置.layout文件
3.再在主页面中做一些处理即可,详细代码见工程文件。
第四阶段:
设置卡片的点击监听器,点击之后进入浏览器
在代码添加监听器后,还得将Card_View中的clickable选中。修改background可定义点击效果动画。见上图。