RecycleView第一次出江湖,就以迅猛之势打败了老牌“ListView”作为增强版的ListView,优点如何呢,自带ViewHolder不需要自己写,ViewHolder作用是优化加载速度,将浏览过的页面缓存在本地,再上拉不需要再去网络申请加载,用户体验提升,出现白板空白可能性小。TwinklingRefreshLayout则带着完整的刷新功能,与之结合实现完整版本的浏览界面。
【效果如下】:
RecycleView需要:
-
Adapter:使用RecyclerView之前,你需要一个继承自RecyclerView.Adapter的适配器,作用是将数据与每一个item的界面进行绑定。
-
LayoutManager:用来确定每一个item如何进行排列摆放,何时展示和隐藏。回收或重用一个View的时候,LayoutManager会向适配器请求新的数据来替换旧的数据,这种机制避免了创建过多的View和频繁的调用findViewById方法(与ListView原理类似)。
话不多说,先上简单暴力版本看一下效果
【准备工作,添加依赖】:
implementation 'com.lcodecorex:tkrefreshlayout:1.0.7'
由于我使用了CardView为了将显示item包裹起来形成卡片式布局,大家不需要的可以不用,用的话需要添加依赖
implementation 'com.android.support:cardview-v7:27.1.1'
【主页面xml】:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"