支持各类view item刷新效果和动画 雨滴+雷达脉冲 等等...

(向大神致敬,由衷感谢)
刷新模式只写了两个,这里只是简单使用了一下,深入了解自行再搜索(除此之外还有很多,https://www.cnblogs.com/foxy/p/7825073.html可以查看这个)

//雨滴刷新模式 (类似一滴雨降下来)WaveSwipeRefreshLayout:

        //简单使用
       repositories {
        maven {
        url "https://jitpack.io"
           }
         }

implementation  'com.github.recruit-lifestyle:WaveSwipeRefreshLayout:1.6'
wave.setColorSchemeColors(Color.WHITE, Color.BLUE);//雨滴里面的颜色
 <jp.co.recruit_lifestyle.android.widget.WaveSwipeRefreshLayout
    android:id="@+id/wave"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    。。。。可以是任何item列表和其他东西
</jp.co.recruit_lifestyle.android.widget.WaveSwipeRefreshLayout>


 wave.setOnRefreshListener(new 
WaveSwipeRefreshLayout.OnRefreshListener() {

       @Override
       public void onRefresh() {
           handler.postDelayed(new Runnable() {
               @Override
               public void run() {
                   //三秒后停止刷新
                   wave.setRefreshing(false);
               }
           },3000);
           
       }
   });

//雷达脉冲波等刷新支持所有view

    implementation  'com.scwang.smart:refresh-layout-kernel:2.0.1'      //核心必须依赖
implementation  'com.scwang.smart:refresh-header-radar:2.0.1'       //雷达刷新头
implementation  'com.scwang.smart:refresh-footer-ball:2.0.1'        //球脉冲加载

 <com.scwang.smartrefresh.layout.SmartRefreshLayout
 xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/refreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#444444"
app:srlPrimaryColor="#444444"
app:srlAccentColor="@android:color/white"
app:srlEnablePreviewInEditMode="true">
<!--srlAccentColor srlPrimaryColor 将会改变 Header 和 Footer 的主题颜色-->
<!--srlEnablePreviewInEditMode 可以开启和关闭预览功能-->
<!-雷达-->
<com.scwang.smart.refresh.header.BezierRadarHeader
    android:layout_width="match_parent"
    android:layout_height="wrap_content"></com.scwang.smart.refresh.header.BezierRadarHeader>
<TextView
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:padding="@dimen/padding_common"
   android:background="@android:color/white"
   android:text="@string/description_define_in_xml"/>
<com.scwang.smartrefresh.layout.footer.ClassicsFooter
   android:layout_width="match_parent"
   android:layout_height="wrap_content"/>
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
<! 脉冲 -->
<com.scwang.smart.refresh.footer.BallPulseFooter
    android:layout_width="match_parent"
    android:layout_height="wrap_content">     </com.scwang.smart.refresh.footer.BallPulseFooter>
    //使用
 refreshlayout = findViewById(R.id.refreshlayout);
    refreshlayout.setRefreshHeader(new BezierRadarHeader(this));
    refreshlayout.setRefreshFooter(new BallPulseFooter(this));
    refreshlayout.setOnRefreshListener(new OnRefreshListener() {
        @Override
        public void onRefresh(RefreshLayout refreshLayout) {
 //          refreshLayout.finishRefresh();
           }
    });
    refreshlayout.setOnLoadMoreListener(new OnLoadMoreListener() {
        @Override
        public void onLoadMore(RefreshLayout refreshLayout) {
            refreshLayout.finishLoadMore();
        }
    });
    //applition下操作
 static {
    //设置全局的Header构建器
    SmartRefreshLayout.setDefaultRefreshHeaderCreator(new DefaultRefreshHeaderCreator() {
        @Override
        public RefreshHeader createRefreshHeader(Context context, RefreshLayout layout) {
            layout.setPrimaryColorsId(R.color.white, android.R.color.white);//全局设置主题颜色
            return new ClassicsHeader(context);//.setTimeFormat(new DynamicTimeFormat("更新于 %s"));//指定为经典Header,默认是 贝塞尔雷达Header
        }
    });
    //设置全局的Footer构建器
    SmartRefreshLayout.setDefaultRefreshFooterCreator(new DefaultRefreshFooterCreator() {
        @Override
        public RefreshFooter createRefreshFooter(Context context, RefreshLayout layout) {
            //指定为经典Footer,默认是 BallPulseFooter
            return new ClassicsFooter(context).setDrawableSize(20);
        }
    });
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值