炫酷的列表下拉刷新效果

栏目: IOS · Android · 发布时间: 6年前

内容简介:下拉刷新是一个很常见的功能,现在很多app提供的下拉刷新效果都千篇一律,就像Google为我们提供的Talk is cheap ,show me the gif:效果是不是很爆炸?看一下如何将这个炫酷的下拉刷新效果使用到我们的应用中:

下拉刷新是一个很常见的功能,现在很多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
        xmlns:app="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: github.com/Cleveroad/F…

炫酷的列表下拉刷新效果

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

UML风格

UML风格

布格勒 / 袁峰 / 2008-12 / 35.00元

《UML风格(第2版)(英汉对照)》给出了一系列有效提高团队生产效率的编程风格的原则,描述了创建简洁、易于理解的UML图的标准和指南,涉及类图、定时图、用例图、组合结构图、顺序图、交互概览图、活动图、对象图、状态图、包图、通信图、部署图和组件图等内容。著名UML专家Scott W.Ambler描述了创建UML图的标准和指南,以帮助建模人员创建简明而易于理解的UML 图形。 《UML风格(第2......一起来看看 《UML风格》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具