内容简介:下拉刷新是一个很常见的功能,现在很多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)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C++ Primer 中文版(第 4 版)
Stanley B.Lippman、Josée LaJoie、Barbara E.Moo / 李师贤、蒋爱军、梅晓勇、林瑛 / 人民邮电出版社 / 2006 / 99.00元
本书是久负盛名的C++经典教程,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++。本版对前一版进行了彻底的修订,内容经过了重新组织,更加入了C++ 先驱Barbara E. Moo在C++教学方面的真知灼见。既显著改善了可读性,又充分体现了C++语言的最新进展和当......一起来看看 《C++ Primer 中文版(第 4 版)》 这本书的介绍吧!