炫酷的列表下拉刷新效果

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了炫酷的列表下拉刷新效果脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

下拉刷新是一个很常见的功能,现在很多app提供的下拉刷新效果都千篇一律,就像GOOGLE为我们提供的SwiPERefreshlayout,看多了是不是觉得有些厌倦了?如果在用户进行下拉等待的时候,给他们提供一些有创造力的效果,绝对会给用户带来不一样的体验。今天就为大家介绍一个烟花下拉刷新效果-FireworkyPullToRefresh

Talk is cheap ,show me the gif:

效果是不是很爆炸?看一下如何将这个炫酷的下拉刷新效果使用到我们的应用中:

build.gradle中添加依赖:

 compile 'com.cleveroad:fireworkypulltorefresh:1.0.3'

XMl文件中,RecyclerView的父容器使用FireworkyPullToRefresh:

<com.cleveroad.pulltorefresh.firework.FireworkyPullToRefreshLayout
        android:id="@+id/pullToRefresh"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

</com.cleveroad.ptr.FireworkyPullToRefreshLayout>

FireworkyPullToRefresh提供了如下一些可以配置的属性:

  • ptr_fireworkColors: 设置烟花的颜色
  • ptr_background: 头部下来部分的背景图片
  • ptr_rocketAnimDuration:烟花发射的动画时间
  • ptr_fireworkStyle: 设置烟花的模式classic or modern

以上四个配置可以直接在xml中使用:

<com.cleveroad.pulltorefresh.firework.FireworkyPullToRefreshLayout
        >"http://schemas.android.com/apk/res-auto"
        ...
        app_ptr_fireworkColors="@array/fireworkColors"
        app_ptr_background="@drawable/background"
        app_ptr_rocketAnimDuration="1000">

也可以在代码中设置:

//use .config() methods:

mPullToRefresh.getConfig().setBackground(backgroundDrawable);
mPullToRefresh.getConfig().setBackground(backgroundBitmap);
mPullToRefresh.getConfig().setBackground(R.drawable.background);
mPullToRefresh.getConfig().setBackgroundColor(Color.BLACK);
mPullToRefresh.getConfig().setBackgroundColorFromResources(R.color.background);

mPullToRefresh.getConfig().setFireworkColors(colorsIntArray);
mPullToRefresh.getConfig().setFireworkColors(R.array.fireworkColors);

mPullRefreshView.getConfig().setFireworkStyle(Configuration.FireworkStyle.MODERN);

mPullToRefresh.getConfig().setRocketAnimDuration(1000L);
刷新回调

用法跟SwipeRefreshlayout很相似,通过实现接口PullToRefreshView.OnRefreshListener来添加刷新逻辑:

mPullToRefresh.setOnRefreshListener(new PullToRefreshView.OnRefreshListener() {
    @Override
    public void onRefresh() {
        //refresh your data here        
    }
});

开始或者取消动画:

mPullRefreshView.setRefreshing(isRefreshing);
自定义动画

如果你想要自己实现动画,也是可以的,重写FireworkyPullToRefreshLayout.OnChildScrollUpCallback来实现你自己的动画逻辑

mPullToRefresh.setOnChildScrollUpCallback(new FireworkyPullToRefreshLayout.OnChildScrollUpCallback() {
    @Override
    public boolean canChildScrollUp(@NonNull FireworkyPullToRefreshLayout parent, @Nullable View child) {
        //put your implementation here
    }
});

具体的实现细节可以查源码,github:https://github.com/Cleveroad/...

资料分享欢迎AndROId工程师朋友们加入安卓开发技术进阶互助:856328774免费提供安卓开发架构的资料(包括Fultter、高级UI、性能优化、架构师课程、 NDK、Kotlin、混合式开发(ReactNative+Weex)和一线互联网公司关于Android面试的题目汇总。

合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

脚本宝典总结

以上是脚本宝典为你收集整理的炫酷的列表下拉刷新效果全部内容,希望文章能够帮你解决炫酷的列表下拉刷新效果所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。