安卓 刷新框架SmartRefreshLayout


依赖

implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-14'
implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.1.0-alpha-14'//没有使用特殊Header,可以不加这行
implementation 'com.android.support:appcompat-v7:25.3.1'//版本 23以上(必须)

实例

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: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;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        initData();
    }

    private void initData() {
        for (int i = 0; i < 200; 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);

    }
}

在这里插入图片描述

属性表格

Attributes

nameformatdescription
srlPrimaryColorcolor主题颜色
srlAccentColorcolor强调颜色
srlReboundDurationinteger释放后回弹动画时长(默认250毫秒)
srlFooterHeightdimensionFooter的标准高度(dp)
srlHeaderInsetStartdimensionHeader的起始偏移量(dp)V1.0.5
srlFooterInsetStartdimensionFooter的起始偏移量(dp)V1.0.5
srlDragRatefloat显示拖动高度/真实拖动高度(默认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.4
srlEnableOverScrollBounceboolean设置是否开启越界回弹功能(默认true)
srlEnableNestedScrollingboolean是否开启嵌套滚动NestedScrolling(默认false-智能开启)
srlEnableScrollContentWhenLoadedboolean是否在加载完成之后滚动内容显示新数据(默认-true)
srlEnableScrollContentWhenRefreshedboolean是否在刷新成功之后滚动内容显示新数据(默认-true)
srlEnableLoadMoreWhenContentNotFullboolean在内容不满一页的时候,是否可以上拉加载更多(默认-false)
srlEnableFooterFollowWhenLoadFinishedboolean是否在全部加载结束之后Footer跟随内容
srlEnableClipHeaderWhenFixedBehindboolean是否剪裁Header当时样式为FixedBehind时V1.0.5
srlEnableClipFooterWhenFixedBehindboolean是否剪裁Footer当时样式为FixedBehind时V1.0.5
srlDisableContentWhenRefreshboolean是否在刷新的时候禁止内容的一切手势操作(默认false)
srlDisableContentWhenLoadingboolean是否在加载的时候禁止内容的一切手势操作(默认false)
srlFixedHeaderViewIdid指定固定顶部的视图Id
srlFixedFooterViewIdid 指定固定底部的视图Id
srlHeaderTranslationViewIdid指定下拉Header时偏移的视图Id
srlFooterTranslationViewIdid指定上拉Footer时偏移的视图Id

Method

nameformatdescription
setPrimaryColorscolors主题\强调颜色
setPrimaryColorsIdcolors主题\强调颜色资源Id
setReboundDurationinteger释放后回弹动画时长(默认250毫秒)
setHeaderHeightdimensionHeader的标准高度(px/dp 两个版本)
setFooterHeightdimensionFooter的标准高度(px/dp 两个版本)
setHeaderInsetStartdimensionHeader起始位置偏移量(px/dp 两个版本)V1.0.5
setFooterInsetStartdimensionFooter起始位置偏移量(px/dp 两个版本)V1.0.5
setDragRatefloat显示拖动高度/真实拖动高度(默认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.4
setEnableOverScrollBounceboolean设置是否开启越界回弹功能(默认true)
setEnableNestedScrollingboolean是否开启嵌套滚动NestedScrolling(默认false-智能开启)
setEnableScrollContentWhenLoadedboolean是否在加载完成之后滚动内容显示新数据(默认-true)
setEnableScrollContentWhenRefreshedboolean是否在刷新成功之后滚动内容显示新数据(默认-true)V1.0.5
setEnableLoadMoreWhenContentNotFullboolean在内容不满一页的时候,是否可以上拉加载更多(默认-false)
setEnableFooterFollowWhenLoadFinishedboolean是否在全部加载结束之后Footer跟随内容
setEnableClipHeaderWhenFixedBehindboolean是否剪裁Header当时样式为FixedBehind时V1.0.5
setEnableClipFooterWhenFixedBehindboolean是否剪裁Footer当时样式为FixedBehind时V1.0.5
setDisableContentWhenRefreshboolean是否在刷新的时候禁止内容的一切手势操作(默认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.5
getRefreshHeaderRefreshHeader获取Header
getRefreshFooterRefreshFooter获取Footer
getStateRefreshState获取当前状态
isRefreshingboolean(V1.1.0删除,版本用 getState==Refreshing 代替)
isLoadingboolean(V1.1.0删除,版本用 getState==Loading 代替)
autoRefresh(int delayed)触发自动刷新
autoLoadMore(int delayed)触发自动加载
autoRefreshAnimationOnly触发自动刷新,只显示动画不执行刷新
autoLoadMoreAnimationOnly触发自动加载,只显示动画不执行加载

Header-Attributes

nameformatdescription
srlPrimaryColorcolor主题颜色
srlAccentColorcolor强调颜色
srlDrawableArrowdrawable箭头图片
srlDrawableProgressdrawable转动图片
srlClassicsSpinnerStyleenum变换样式:Translate(平行移动)、Scale(拉伸形变)、FixedBehind(固定在背后)
srlSpinnerStyleenum变换样式:srlClassicsSpinnerStyle的全部、FixedFront(固定在前面或全屏)
srlFinishDurationint动画结束时,显示完成状态停留的时间(毫秒)
srlEnableLastTimeboolean是否显示上次更新时间(默认true)
srlDrawableMarginRightdimension图片相对右边文字的距离(默认20dp)
srlTextTimeMarginTopdimension更新时间相对上面标题的距离(默认2dp)
srlTextSizeTitledimension标题文字大小(默认16sp)
srlTextSizeTimedimension时间文字大小(默认12sp)

Header-Method

nameformatdescription
setPrimaryColorcolor主题颜色
setAccentColorcolor强调颜色
setArrowDrawabledrawable设置箭头图片
setProgressDrawabledrawable设置转动图片
setArrowBitmapbitmap设置箭头图片(V1.1.0版本删除)
setProgressBitmapbitmap设置转动图片(V1.1.0版本删除)
setArrowResourceint设置箭头图片
setProgressResourceint设置转动图片
setSpinnerStyleenum变换样式:参考属性srlSpinnerStyle
setClassicsSpinnerStyleenum变换样式:参考属性srlClassicsSpinnerStyle
setFinishDurationint设置动画结束时,显示完成状态停留的时间(毫秒)
setEnableLastTimeboolean是否显示上次更新时间(默认true)
setTextSizeTitledimension标题文字大小(默认16sp)
setTextSizeTimedimension时间文字大小(默认12sp)
setLastUpdateTextstring手动设置更新时间,将不会自动更新时间

SmartRefreshLayout

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.5

xml代码设置

<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"
    />

ClassicsHeader

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>

ClassicsFooter

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>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值