react native实现上拉加载下拉刷新
来源:互联网 发布:华罗庚的优化法时间 编辑:程序博客网 时间:2024/05/22 14:54
前言
我们在做原生app开发的时候,很多场景都会用到下拉刷新、上拉加载的操作,Android中如PullToRefreshListView,iOS中如MJRefresh等都是比较好用,且实现上比较简单的第三方库。他们的实现原理大体相同,都是在列表的基础上新增头部和尾部,然后新增手势触摸的逻辑判断。那么对于React Native,我们也可以用相同的原理来实现。
react-native-pull
这里我们首先要介绍一款兼容Android和ios的组件:react-native-pull
我们首先来看一下React-native-pull的运行效果如何:
PullView 使用
在自己的工程中执行引入,当然也可以自己封装个
- 1
- 1
和其他的第三方库使用一样,引入包,然后添加标签对:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
完整代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
上面的代码种有几个核心的属性需要说明:
onPullRelease:在pullrelease状态时候调用的方法
topIndicatorRender:顶部刷新时候执行的方法(里面三个参数代表三种不同的状态)
- pulling:正在下拉的状态
- Pullok:已经拉倒位置,可以放手的状态
- pullrelease: 放手加载的状态
renderHeader:渲染头部的方法,如:
- 1
- 2
- 3
- 1
- 2
- 3
renderRow:渲染每行显示的数据。
onEndReached:到达底部出发的监听
renderFooter:判断是否加载结束,刷新状态提示的隐藏和显示
PullList 使用
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
其他属性
style: 设置组件样式,比如可以设width/height/backgroudColor等
topIndicatorRender: 顶部刷新指示组件的渲染方法, 接受三个参数: ispulling, ispullok, ispullrelease
topIndicatorHeight: 顶部刷新指示组件的高度, 若定义了topIndicatorRender则同时需要此属性
isPullEnd: 是否已经下拉结束,若为true则隐藏顶部刷新指示组件,非必须
仅PullView支持普通refreshcontrol的相关属性
onRefresh: 开始刷新时调用的方法
refreshing: 指示是否正在刷新
react-native-pullRefreshScrollView
说完react-native-pull,我们再来看一个目前只支持ios的框架react-native-pullRefreshScrollView,该组件可以实现界面的定制(头部,底部View的样式修改,唯一不足的是暂时不支持Android),先看下运行的效果:
使用
该组件使用也是相当的简单和方便,来看ListView中如何使用:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
Scrollview使用
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
附上源码链接:https://github.com/xiangzhihong/react-native-pullRefreshScrollView
- react native实现上拉加载下拉刷新
- react native实现上拉加载下拉刷新
- react-native-pull实现上拉加载下拉刷新
- RN-react-native-pull-下拉刷新、上拉加载
- React-native IT喵~ ScrollView 嵌套ListView 如何实现上拉加载、下拉刷新
- React + iscroll5 实现完美 下拉刷新,上拉加载
- 使用react-native,reduce开发简洁且的上拉刷新下拉加载更多的组件
- react native FlatList使用详解以及上拉刷新下拉加载带可运行demo
- react native listview上拉加载更多下拉刷新兼容ios 安卓
- react-native之上拉加载,下拉刷新组件封装
- react native之listview加下拉刷新上拉分页
- React-native PanResponder监测手势实现下拉或者上拉刷新
- React Native ListView上拉刷新,下拉加载刷新,并添加网络无数据时的缺省图
- html5实现下拉刷新,上拉加载
- RecyclerView实现上拉加载,下拉刷新
- RecyclerView实现上拉加载,下拉刷新
- PullToRefresh实现上拉加载下拉刷新
- PullToRefresh实现上拉加载下拉刷新
- 寒假篇36
- Spring+JDBC编程
- Apache与Tomcat 区别联系
- USACO——修理牛棚
- LeetCode 1. Two Sum java solution with HashMap
- react native实现上拉加载下拉刷新
- 寒假篇37
- React Native开发之常用第三方控件
- RAD模型
- 串口返回红外键值
- 机器学习在工程中使用要点
- [Leetcode] #61 Rotate List
- 请教大神,在Java中GSON解析 JSON 怎么解析
- POJ 1321 棋盘问题