内容简介:下拉刷新是一个很常见的功能,现在很多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)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
B端产品经理必修课
李宽 / 电子工业出版社 / 2018-9 / 59
《B端产品经理必修课:从业务逻辑到产品构建全攻略》主要讲述了“单个产品管理流程”,以展示B 端产品经理的工作方法及B 端产品的设计方法。《B端产品经理必修课:从业务逻辑到产品构建全攻略》分为三个部分。第一部分主要讲述的是B 端产品经理的工作流程和定义(即单个产品管理流程),以及从事B 端产品经理的职业现状和规划,还包括设计B 端产品时需要了解的指导思想。第二部分是通过各个章节来讲述单个产品管理流程......一起来看看 《B端产品经理必修课》 这本书的介绍吧!