xml
<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" tools:context=".MainActivity"> <com.scwang.smartrefresh.layout.SmartRefreshLayout android:id="@+id/refreshLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <com.scwang.smartrefresh.layout.header.ClassicsHeader android:id="@+id/head" android:layout_width="match_parent" android:layout_height="match_parent"> </com.scwang.smartrefresh.layout.header.ClassicsHeader> <ListView android:id="@+id/lv1" android:layout_width="match_parent" android:layout_height="match_parent"> </ListView> <com.scwang.smartrefresh.layout.footer.ClassicsFooter android:layout_width="match_parent" android:layout_height="match_parent"> </com.scwang.smartrefresh.layout.footer.ClassicsFooter> </com.scwang.smartrefresh.layout.SmartRefreshLayout> </LinearLayout>activity
public class MainActivity extends AppCompatActivity { private ListView lv1; private List<String> list = new ArrayList<>(); private ArrayAdapter arrayAdapter; private ClassicsHeader head; private SmartRefreshLayout refreshLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initData(); } private void initData() { for (int i = 0; i < 100; i++) { list.add("item " + i); } arrayAdapter.notifyDataSetChanged(); } private void initView() { lv1 = (ListView) findViewById(R.id.lv1); head = (ClassicsHeader) findViewById(R.id.head); arrayAdapter = new ArrayAdapter(MainActivity.this, R.layout.support_simple_spinner_dropdown_item, list); lv1.setAdapter(arrayAdapter); refreshLayout = (SmartRefreshLayout) findViewById(R.id.refreshLayout); refreshLayout.setOnMultiPurposeListener(new SimpleMultiPurposeListener(){ @Override public void onLoadMore(@NonNull RefreshLayout refreshLayout) { super.onLoadMore(refreshLayout); Log.e("######加载",2+""); for (int i = 500; i < 600; i++) { list.add("item " + i); } arrayAdapter.notifyDataSetChanged(); refreshLayout.finishLoadMore(); } @Override public void onRefresh(@NonNull RefreshLayout refreshLayout) { super.onRefresh(refreshLayout); Log.e("######刷新",1+""); for (int i = 100; i < 200; i++) { list.add("item " + i); } arrayAdapter.notifyDataSetChanged(); refreshLayout.finishRefresh(); } }); } }Attributes
nameformatdescriptionsrlPrimaryColorcolor主题颜色srlAccentColorcolor强调颜色srlReboundDurationinteger释放后回弹动画时长(默认250毫秒)srlFooterHeightdimensionFooter的标准高度(dp)srlHeaderInsetStartdimensionHeader的起始偏移量(dp)V1.0.5srlFooterInsetStartdimensionFooter的起始偏移量(dp)V1.0.5srlDragRatefloat显示拖动高度/真实拖动高度(默认0.5,阻尼效果)srlHeaderMaxDragRatefloatHeader最大拖动高度/Header标准高度(默认2,要求>=1)srlFooterMaxDragRatefloatFooter最大拖动高度/Footer标准高度(默认2,要求>=1)srlHeaderTriggerRatefloatHeader触发刷新距离 与 HeaderHeight 的比率(默认1)srlFooterTriggerRatefloatFooter触发加载距离 与 FooterHeight 的比率(默认1)srlEnableRefreshboolean是否开启下拉刷新功能(默认true)srlEnableLoadMoreboolean是否开启加上拉加载功能(默认false-智能开启)srlEnableAutoLoadMoreboolean是否监听列表惯性滚动到底部时触发加载事件(默认true)srlEnableHeaderTranslationContentboolean拖动Header的时候是否同时拖动内容(默认true)srlEnableFooterTranslationContentboolean拖动Footer的时候是否同时拖动内容(默认true)srlEnablePreviewInEditModeboolean是否在编辑模式时显示预览效果(默认true)srlEnablePureScrollModeboolean是否开启纯滚动模式(默认false-开启时只支持一个子视图)srlEnableOverScrollDragboolean是否启用越界拖动(仿苹果效果)V1.0.4srlEnableOverScrollBounceboolean设置是否开启越界回弹功能(默认true)srlEnableNestedScrollingboolean是否开启嵌套滚动NestedScrolling(默认false-智能开启)srlEnableScrollContentWhenLoadedboolean是否在加载完成之后滚动内容显示新数据(默认-true)srlEnableScrollContentWhenRefreshedboolean是否在刷新成功之后滚动内容显示新数据(默认-true)srlEnableLoadMoreWhenContentNotFullboolean在内容不满一页的时候,是否可以上拉加载更多(默认-false)srlEnableFooterFollowWhenLoadFinishedboolean是否在全部加载结束之后Footer跟随内容srlEnableClipHeaderWhenFixedBehindboolean是否剪裁Header当时样式为FixedBehind时V1.0.5srlEnableClipFooterWhenFixedBehindboolean是否剪裁Footer当时样式为FixedBehind时V1.0.5srlDisableContentWhenRefreshboolean是否在刷新的时候禁止内容的一切手势操作(默认false)srlDisableContentWhenLoadingboolean是否在加载的时候禁止内容的一切手势操作(默认false)srlFixedHeaderViewIdid指定固定顶部的视图IdsrlFixedFooterViewIdid 指定固定底部的视图IdsrlHeaderTranslationViewIdid指定下拉Header时偏移的视图IdsrlFooterTranslationViewIdid指定上拉Footer时偏移的视图IdMethod
nameformatdescriptionsetPrimaryColorscolors主题\强调颜色setPrimaryColorsIdcolors主题\强调颜色资源IdsetReboundDurationinteger释放后回弹动画时长(默认250毫秒)setHeaderHeightdimensionHeader的标准高度(px/dp 两个版本)setFooterHeightdimensionFooter的标准高度(px/dp 两个版本)setHeaderInsetStartdimensionHeader起始位置偏移量(px/dp 两个版本)V1.0.5setFooterInsetStartdimensionFooter起始位置偏移量(px/dp 两个版本)V1.0.5setDragRatefloat显示拖动高度/真实拖动高度(默认0.5,阻尼效果)setHeaderMaxDragRatefloatHeader最大拖动高度/Header标准高度(默认2,要求>=1)setFooterMaxDragRatefloatFooter最大拖动高度/Footer标准高度(默认2,要求>=1)setHeaderTriggerRatefloatHeader触发刷新距离 与 HeaderHeight 的比率(默认1)setFooterTriggerRatefloatFooter触发加载距离 与 FooterHeight 的比率(默认1)setEnableRefreshboolean是否开启下拉刷新功能(默认true)setEnableLoadMoreboolean是否开启加上拉加载功能(默认false-智能开启)setEnableHeaderTranslationContentboolean拖动Header的时候是否同时拖动内容(默认true)setEnableFooterTranslationContentboolean拖动Footer的时候是否同时拖动内容(默认true)setEnableAutoLoadMoreboolean是否监听列表惯性滚动到底部时触发加载事件(默认true)setEnablePureScrollModeboolean是否开启纯滚动模式(默认false-开启时只支持一个子视图)setEnableOverScrollDragboolean是否启用越界拖动(仿苹果效果)V1.0.4setEnableOverScrollBounceboolean设置是否开启越界回弹功能(默认true)setEnableNestedScrollingboolean是否开启嵌套滚动NestedScrolling(默认false-智能开启)setEnableScrollContentWhenLoadedboolean是否在加载完成之后滚动内容显示新数据(默认-true)setEnableScrollContentWhenRefreshedboolean是否在刷新成功之后滚动内容显示新数据(默认-true)V1.0.5setEnableLoadMoreWhenContentNotFullboolean在内容不满一页的时候,是否可以上拉加载更多(默认-false)setEnableFooterFollowWhenLoadFinishedboolean是否在全部加载结束之后Footer跟随内容setEnableClipHeaderWhenFixedBehindboolean是否剪裁Header当时样式为FixedBehind时V1.0.5setEnableClipFooterWhenFixedBehindboolean是否剪裁Footer当时样式为FixedBehind时V1.0.5setDisableContentWhenRefreshboolean是否在刷新的时候禁止内容的一切手势操作(默认false)setDisableContentWhenLoadingboolean是否在加载的时候禁止内容的一切手势操作(默认false)setReboundInterpolatorInterpolator设置回弹动画的插值器(默认减速)setRefreshHeaderRefreshHeader设置指定的Header(默认贝塞尔雷达)setRefreshFooterRefreshFooter设置指定的Footer(默认球脉冲)setRefreshContentView设置刷新Content(用于动态替换空布局)setOnRefreshListenerOnRefreshListener设置刷新监听器(不设置,默认3秒后关刷新)setOnLoadMoreListenerOnLoadMoreListener设置加载监听器(不设置,默认3秒后关加载)setOnRefreshLoadMoreListenerOnRefreshLoadMoreListener同时设置上面两个监听器setOnMultiPurposeListenerOnMultiPurposeListener设置多功能监听器setLoadMoreFinishedboolean设置全部数据加载完成,之后不会触发加载事件setScrollBoundaryDeciderboundary设置滚动边界判断finishRefresh(int delayed)完成刷新,结束刷新动画finishLoadMore(int delayed)完成加载,结束加载动画finishRefresh(boolean success)完成刷新,并设置是否成功finishLoadMore(boolean success)完成加载,并设置是否成功finishLoadMoreWithNoMoreData完成加载并标记没有更多数据(V1.0.4)closeHeaderOrFooter关闭 Header 或者 Footer(1.1.0)resetNoMoreDataV1.0.4(V1.1.0删除,用 setNoMoreData(false) 代替)setNoMoreDataboolean设置更多数据状态V1.0.5getRefreshHeaderRefreshHeader获取HeadergetRefreshFooterRefreshFooter获取FootergetStateRefreshState获取当前状态isRefreshingboolean(V1.1.0删除,版本用 getState==Refreshing 代替)isLoadingboolean(V1.1.0删除,版本用 getState==Loading 代替)autoRefresh(int delayed)触发自动刷新autoLoadMore(int delayed)触发自动加载autoRefreshAnimationOnly触发自动刷新,只显示动画不执行刷新autoLoadMoreAnimationOnly触发自动加载,只显示动画不执行加载Header-Attributes
nameformatdescriptionsrlPrimaryColorcolor主题颜色srlAccentColorcolor强调颜色srlDrawableArrowdrawable箭头图片srlDrawableProgressdrawable转动图片srlClassicsSpinnerStyleenum变换样式:Translate(平行移动)、Scale(拉伸形变)、FixedBehind(固定在背后)srlSpinnerStyleenum变换样式:srlClassicsSpinnerStyle的全部、FixedFront(固定在前面或全屏)srlFinishDurationint动画结束时,显示完成状态停留的时间(毫秒)srlEnableLastTimeboolean是否显示上次更新时间(默认true)srlDrawableMarginRightdimension图片相对右边文字的距离(默认20dp)srlTextTimeMarginTopdimension更新时间相对上面标题的距离(默认2dp)srlTextSizeTitledimension标题文字大小(默认16sp)srlTextSizeTimedimension时间文字大小(默认12sp)Header-Method
nameformatdescriptionsetPrimaryColorcolor主题颜色setAccentColorcolor强调颜色setArrowDrawabledrawable设置箭头图片setProgressDrawabledrawable设置转动图片setArrowBitmapbitmap设置箭头图片(V1.1.0版本删除)setProgressBitmapbitmap设置转动图片(V1.1.0版本删除)setArrowResourceint设置箭头图片setProgressResourceint设置转动图片setSpinnerStyleenum变换样式:参考属性srlSpinnerStylesetClassicsSpinnerStyleenum变换样式:参考属性srlClassicsSpinnerStylesetFinishDurationint设置动画结束时,显示完成状态停留的时间(毫秒)setEnableLastTimeboolean是否显示上次更新时间(默认true)setTextSizeTitledimension标题文字大小(默认16sp)setTextSizeTimedimension时间文字大小(默认12sp)setLastUpdateTextstring手动设置更新时间,将不会自动更新时间java代码设置
RefreshLayout refreshLayout = (RefreshLayout)findViewById(R.id.refreshLayout); refreshLayout.setPrimaryColorsId(R.color.colorPrimary, android.R.color.white); refreshLayout.setDragRate(0.5f);//显示下拉高度/手指真实下拉高度=阻尼效果 refreshLayout.setReboundDuration(300);//回弹动画时长(毫秒) refreshLayout.setHeaderHeight(100);//Header标准高度(显示下拉高度>=标准高度 触发刷新) refreshLayout.setHeaderHeightPx(100);//同上-像素为单位 (V1.1.0删除) refreshLayout.setFooterHeight(100);//Footer标准高度(显示上拉高度>=标准高度 触发加载) refreshLayout.setFooterHeightPx(100);//同上-像素为单位 (V1.1.0删除) refreshLayout.setFooterHeaderInsetStart(0);//设置 Header 起始位置偏移量 1.0.5 refreshLayout.setFooterHeaderInsetStartPx(0);//同上-像素为单位 1.0.5 (V1.1.0删除) refreshLayout.setFooterFooterInsetStart(0);//设置 Footer 起始位置偏移量 1.0.5 refreshLayout.setFooterFooterInsetStartPx(0);//同上-像素为单位 1.0.5 (V1.1.0删除) refreshLayout.setHeaderMaxDragRate(2);//最大显示下拉高度/Header标准高度 refreshLayout.setFooterMaxDragRate(2);//最大显示下拉高度/Footer标准高度 refreshLayout.setHeaderTriggerRate(1);//触发刷新距离 与 HeaderHeight 的比率1.0.4 refreshLayout.setFooterTriggerRate(1);//触发加载距离 与 FooterHeight 的比率1.0.4 refreshLayout.setEnableRefresh(true);//是否启用下拉刷新功能 refreshLayout.setEnableLoadMore(false);//是否启用上拉加载功能 refreshLayout.setEnableAutoLoadMore(true);//是否启用列表惯性滑动到底部时自动加载更多 refreshLayout.setEnablePureScrollMode(false);//是否启用纯滚动模式 refreshLayout.setEnableNestedScroll(false);//是否启用嵌套滚动 refreshLayout.setEnableOverScrollBounce(true);//是否启用越界回弹 refreshLayout.setEnableScrollContentWhenLoaded(true);//是否在加载完成时滚动列表显示新的内容 refreshLayout.setEnableHeaderTranslationContent(true);//是否下拉Header的时候向下平移列表或者内容 refreshLayout.setEnableFooterTranslationContent(true);//是否上拉Footer的时候向上平移列表或者内容 refreshLayout.setEnableLoadMoreWhenContentNotFull(true);//是否在列表不满一页时候开启上拉加载功能 refreshLayout.setEnableFooterFollowWhenLoadFinished(false);//是否在全部加载结束之后Footer跟随内容1.0.4 refreshLayout.setEnableOverScrollDrag(false);//是否启用越界拖动(仿苹果效果)1.0.4 refreshLayout.setEnableScrollContentWhenRefreshed(true);//是否在刷新完成时滚动列表显示新的内容 1.0.5 refreshLayout.srlEnableClipHeaderWhenFixedBehind(true);//是否剪裁Header当时样式为FixedBehind时1.0.5 refreshLayout.srlEnableClipFooterWhenFixedBehind(true);//是否剪裁Footer当时样式为FixedBehind时1.0.5 refreshLayout.setDisableContentWhenRefresh(false);//是否在刷新的时候禁止列表的操作 refreshLayout.setDisableContentWhenLoading(false);//是否在加载的时候禁止列表的操作 refreshLayout.setOnMultiPurposeListener(new SimpleMultiPurposeListener());//设置多功能监听器 refreshLayout.setScrollBoundaryDecider(new ScrollBoundaryDecider());//设置滚动边界判断 refreshLayout.setScrollBoundaryDecider(new ScrollBoundaryDeciderAdapter());//自定义滚动边界 refreshLayout.setRefreshHeader(new ClassicsHeader(context));//设置Header refreshLayout.setRefreshFooter(new ClassicsFooter(context));//设置Footer refreshLayout.setRefreshContent(new View(context));//设置刷新Content(用于非xml布局代替addView)1.0.4 refreshLayout.autoRefresh();//自动刷新 refreshLayout.autoLoadMore();//自动加载 refreshLayout.autoRefreshAnimationOnly();//自动刷新,只显示动画不执行刷新 refreshLayout.autoLoadMoreAnimationOnly();//自动加载,只显示动画不执行加载 refreshLayout.autoRefresh(400);//延迟400毫秒后自动刷新 refreshLayout.autoLoadMore(400);//延迟400毫秒后自动加载 refreshLayout.finishRefresh();//结束刷新 refreshLayout.finishLoadMore();//结束加载 refreshLayout.finishRefresh(3000);//延迟3000毫秒后结束刷新 refreshLayout.finishLoadMore(3000);//延迟3000毫秒后结束加载 refreshLayout.finishRefresh(false);//结束刷新(刷新失败) refreshLayout.finishLoadMore(false);//结束加载(加载失败) refreshLayout.finishLoadMoreWithNoMoreData();//完成加载并标记没有更多数据 1.0.4 refreshLayout.closeHeaderOrFooter();//关闭正在打开状态的 Header 或者 Footer(1.1.0) refreshLayout.resetNoMoreData();//恢复没有更多数据的原始状态 1.0.4(1.1.0删除) refreshLayout.setNoMoreData(false);//恢复没有更多数据的原始状态 1.0.5xml代码设置
<com.scwang.smart.refresh.layout.SmartRefreshLayout android:id="@+id/refreshLayout" android:layout_width="match_parent" android:layout_height="match_parent" app:srlAccentColor="@android:color/white" app:srlPrimaryColor="@color/colorPrimary" app:srlReboundDuration="300" app:srlDragRate="0.5" app:srlHeaderMaxDragRate="2" app:srlFooterMaxDragRate="2" app:srlHeaderTriggerRate="1" app:srlFooterTriggerRate="1" app:srlHeaderHeight="100dp" app:srlFooterHeight="100dp" app:srlHeaderInsetStart="0dp" app:srlFooterInsetStart="0dp" app:srlEnableRefresh="true" app:srlEnableLoadMore="true" app:srlEnableAutoLoadMore="true" app:srlEnablePureScrollMode="false" app:srlEnableNestedScrolling="false" app:srlEnableOverScrollDrag="true" app:srlEnableOverScrollBounce="true" app:srlEnablePreviewInEditMode="true" app:srlEnableScrollContentWhenLoaded="true" app:srlEnableScrollContentWhenRefreshed="true" app:srlEnableHeaderTranslationContent="true" app:srlEnableFooterTranslationContent="true" app:srlEnableLoadMoreWhenContentNotFull="false" app:srlEnableFooterFollowWhenLoadFinished="false" app:srlEnableClipHeaderWhenFixedBehind="true" app:srlEnableClipFooterWhenFixedBehind="true" app:srlDisableContentWhenRefresh="false" app:srlDisableContentWhenLoading="false" app:srlFixedFooterViewId="@+id/header_fixed" app:srlFixedHeaderViewId="@+id/footer_fixed" app:srlHeaderTranslationViewId="@+id/header_translation" app:srlFooterTranslationViewId="@+id/footer_translation" />java代码设置
ClassicsHeader header = (ClassicsHeader)findViewById(R.id.header); header.setAccentColor(android.R.color.white);//设置强调颜色 header.setPrimaryColor(R.color.colorPrimary);//设置主题颜色 header.setTextSizeTitle(16);//设置标题文字大小(sp单位) header.setTextSizeTitle(16, TypedValue.COMPLEX_UNIT_SP);//同上(1.1.0版本删除) header.setTextSizeTime(10);//设置时间文字大小(sp单位) header.setTextSizeTime(10, TypedValue.COMPLEX_UNIT_SP);//同上(1.1.0版本删除) header.setTextTimeMarginTop(10);//设置时间文字的上边距(dp单位) header.setTextTimeMarginTopPx(10);//同上-像素单位(1.1.0版本删除) header.setEnableLastTime(true);//是否显示时间 header.setFinishDuration(500);//设置刷新完成显示的停留时间(设为0可以关闭停留功能) header.setDrawableSize(20);//同时设置箭头和图片的大小(dp单位) header.setDrawableArrowSize(20);//设置箭头的大小(dp单位) header.setDrawableProgressSize(20);//设置图片的大小(dp单位) header.setDrawableMarginRight(20);//设置图片和箭头和文字的间距(dp单位) header.setDrawableSizePx(20);//同上-像素单位 header.setDrawableArrowSizePx(20);//同上-像素单位(1.1.0版本删除) header.setDrawableProgressSizePx(20);//同上-像素单位(1.1.0版本删除) header.setDrawableMarginRightPx(20);//同上-像素单位(1.1.0版本删除) header.setArrowBitmap(bitmap);//设置箭头位图(1.1.0版本删除) header.setArrowDrawable(drawable);//设置箭头图片 header.setArrowResource(R.drawable.ic_arrow);//设置箭头资源 header.setProgressBitmap(bitmap);//设置图片位图(1.1.0版本删除) header.setProgressDrawable(drawable);//设置图片 header.setProgressResource(R.drawable.ic_progress);//设置图片资源 header.setTimeFormat(new DynamicTimeFormat("上次更新 %s"));//设置时间格式化(时间会自动更新) header.setLastUpdateText("上次更新 3秒前");//手动更新时间文字设置(将不会自动更新时间) header.setSpinnerStyle(SpinnerStyle.Translate);//设置移动样式(不支持:MatchLayout)xml代码设置
<com.scwang.smart.refresh.layout.SmartRefreshLayout> <com.scwang.smartrefresh.layout.header.ClassicsHeader android:layout_width="match_parent" android:layout_height="wrap_content" app:srlAccentColor="@android:color/white" app:srlPrimaryColor="@color/colorPrimary" app:srlTextSizeTitle="16sp" app:srlTextSizeTime="10dp" app:srlTextTimeMarginTop="2dp" app:srlEnableLastTime="true" app:srlFinishDuration="500" app:srlDrawableSize="20dp" app:srlDrawableArrowSize="20dp" app:srlDrawableProgressSize="20dp" app:srlDrawableMarginRight="20dp" app:srlDrawableArrow="@drawable/ic_arrow" app:srlDrawableProgress="@drawable/ic_progress" app:srlClassicsSpinnerStyle="Translate" app:srlTextPulling="@string/srl_header_pulling" app:srlTextLoading="@string/srl_header_loading" app:srlTextRelease="@string/srl_header_release" app:srlTextFinish="@string/srl_header_finish" app:srlTextFailed="@string/srl_header_failed" app:srlTextUpdate="@string/srl_header_update" app:srlTextSecondary="@string/srl_header_secondary" app:srlTextRefreshing="@string/srl_header_refreshing"/> </com.scwang.smart.refresh.layout.SmartRefreshLayout>java代码设置
ClassicsFooter footer = (ClassicsFooter)findViewById(R.id.footer); footer.setAccentColor(android.R.color.white);//设置强调颜色 footer.setPrimaryColor(R.color.colorPrimary);//设置主题颜色 footer.setTextSizeTitle(16);//设置标题文字大小(sp单位) footer.setTextSizeTitle(16, TypedValue.COMPLEX_UNIT_SP);//同上 footer.setFinishDuration(500);//设置刷新完成显示的停留时间 footer.setDrawableSize(20);//同时设置箭头和图片的大小(dp单位) footer.setDrawableArrowSize(20);//设置箭头的大小(dp单位) footer.setDrawableProgressSize(20);//设置图片的大小(dp单位) footer.setDrawableMarginRight(20);//设置图片和箭头和文字的间距(dp单位) footer.setDrawableSizePx(20);//同上-像素单位(1.1.0版本删除) footer.setDrawableArrowSizePx(20);//同上-像素单位(1.1.0版本删除) footer.setDrawableProgressSizePx(20);//同上-像素单位(1.1.0版本删除) footer.setDrawableMarginRightPx(20);//同上-像素单位(1.1.0版本删除) footer.setArrowBitmap(bitmap);//设置箭头位图(1.1.0版本删除) footer.setArrowDrawable(drawable);//设置箭头图片 footer.setArrowResource(R.drawable.ic_arrow);//设置箭头资源 footer.setProgressBitmap(bitmap);//设置图片位图(1.1.0版本删除) footer.setProgressDrawable(drawable);//设置图片 footer.setProgressResource(R.drawable.ic_progress);//设置图片资源 footer.setSpinnerStyle(SpinnerStyle.Translate);//设置移动样式(不支持:MatchLayout)xml代码设置
<!-- 下面示例中的值等于默认值 --> <com.scwang.smart.refresh.layout.SmartRefreshLayout> <com.scwang.smartrefresh.layout.header.ClassicsFooter android:layout_width="match_parent" android:layout_height="wrap_content" app:srlAccentColor="@android:color/white" app:srlPrimaryColor="@color/colorPrimary" app:srlTextSizeTitle="16sp" app:srlFinishDuration="500" app:srlDrawableSize="20dp" app:srlDrawableArrowSize="20dp" app:srlDrawableProgressSize="20dp" app:srlDrawableMarginRight="20dp" app:srlDrawableArrow="@drawable/ic_arrow" app:srlDrawableProgress="@drawable/ic_progress" app:srlClassicsSpinnerStyle="Translate" app:srlTextPulling="@string/srl_footer_pulling" app:srlTextRelease="@string/srl_footer_release" app:srlTextLoading="@string/srl_footer_loading" app:srlTextRefreshing="@string/srl_footer_refreshing" app:srlTextFinish="@string/srl_footer_finish" app:srlTextFailed="@string/srl_footer_failed" app:srlTextNothing="@string/srl_footer_nothing"/> </com.scwang.smart.refresh.layout.SmartRefreshLayout>