内容简介:下拉刷新是一个很常见的功能,现在很多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
ormodern
以上四个配置可以直接在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)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First HTML and CSS
Elisabeth Robson、Eric Freeman / O'Reilly Media / 2012-9-8 / USD 39.99
Tired of reading HTML books that only make sense after you're an expert? Then it's about time you picked up Head First HTML and really learned HTML. You want to learn HTML so you can finally create th......一起来看看 《Head First HTML and CSS》 这本书的介绍吧!