内容简介:下拉刷新是一个很常见的功能,现在很多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: 设置烟花的模式
classicormodern
以上四个配置可以直接在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…
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Swift iOS : 上拉刷新或者下拉刷新
- Swift iOS : 上拉刷新或者下拉刷新
- 上拉加载 下拉刷新
- Android中ListView下拉刷新的实现
- iOS 下拉刷新组件原理及简单实现
- CBPullToReflesh:下拉刷新也可以很美(Swift)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。