热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

React-nativeIT喵~ScrollView嵌套ListView如何实现上拉加载、下拉刷新

这里我用的上拉、下拉组件是GitHub上这个:https:github.comgreatbskyreact-native-pullwiki里面有个renderHeader方法可

这里我用的 上拉、下拉组件是GitHub上这个:https://github.com/greatbsky/react-native-pull/wiki

里面有个renderHeader方法 可以放ListView 上面的 一些组件 见我的demo:

欢迎大家关注一下 基于React-naive开发的“IT喵~”项目。技能GET、互联网资讯、程序员相亲、GitHub监控。。。 Github地址:https://github.com/cbamls/kitty_front

效果图:

60, height: 60}}/>
{this.txtPulling = c;}}>下拉上刷新
{this.txtPullok = c;}}>禽兽 放开我
{this.txtPullrelease = c;}}>刷~

);
}

render() {
return (
this
.onPullRelease}
topIndicatorRender={this.topIndicatorRender} topIndicatorhljs-number">60}
renderHeader={this.renderHeader}
dataSource={this.state.list}
pageSize={5}
initialListSize={5}
renderRow={this.renderRow}
OnEndReached={this.loadMore}
OnEndReachedThreshold={1}
renderFooter={this.renderFooter}
/>

);
}

renderHeader() {
return (


this
.props.navigation}>
'rm'}} hljs-number">25, height: 25}}/>
热门文章

0.5} OnPress={() => alert("label ok")}>
'kitty_ic_label_grey_300_24dp'}} hljs-number">25, height: 25}}/>
'#E0E0E0'}}>
标签管理




);
}

// 返回具体的cell
renderRow(rowData,sectionID,rowID,highlightRow){
console.log("rowData => " + rowData.title);
return(

)
;

}

renderFooter() {
if(this.state.isLastPage) {
return (
100
}}>没有更多数据...
);
}
return (
100
}}>


);
}

loadMore() {

setTimeout(() => {
this._fetchData();
}, 1000)
;
}

}

const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#e8e8e8'
},


iconStyle:{
width: Platform.OS === 'ios' ? 30 : 25,
height:Platform.OS === 'ios' ? 30 : 25
},
TopListStyle: {
width: width,
height: 30,
flexDirection: 'row',
backgroundColor: 'white',
alignItems: 'center',
marginTop: 10,
borderBottomColor: 'grey',
borderBottomWidth: 0.5
},
TopRightStyle: {
flexDirection: 'row',
alignItems: 'center',
position: 'absolute',
right:2,
},
TopLeftStyle: {
flexDirection: 'row',
alignItems: 'center'
}
})
;

HomeListCell组件 文章列表单个Cell
/**
* CopyRright (c)2014-2016 Haerbin Hearglobal Co.,Ltd
* Project: kitty_front
* Comments:
* Author:cbam
* Create Date:2017/6/8
* Modified By:
* Modified Date:
* Modified Reason:
*/

import React, { Component } from 'react';
import {
StyleSheet,
Text,
View,
Image,
TouchableOpacity,
ListView
} from 'react-native';
var DimensiOns= require('Dimensions');
var {width} = Dimensions.get('window');
// 导入json数据
var Article = require('../business/home/Article.json'); // 数组

export default class HomeListCell extends Component {

constructor(props) {
super(props);
this.dataSource = [];
this.state = {
list: (new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2})).cloneWithRows(this.dataSource),
};
}
componentWillReceiveProps(nextProps) {
this._setState(nextProps.data);
}
componentDidMount() {
this._setState(this.props.data);
}
_setState(newState) {
this.setState({
"title": newState.title,
"img": newState.img,
"date": newState.date
})

}
render() {
// alert("state => " + this.state.title);
return (
0.5
} OnPress={()=>{alert('点击了')}}>
this
.state.title}
this.state.date}

0}}>
this.state.img}} hljs-title">const styles = StyleSheet.create({
cellViewStyle:{
paddingTop:10,
paddingLeft: 10,
backgroundColor:'white',
// 下划线
borderBottomWidth:0.5,
borderBottomColor:'#e8e8e8',

// 确定主轴的方向
flexDirection:'row'
},

rightImageStyle:{
width:60,
height:60,
marginLeft:15
},
topTitleStyle:{
color:'red',
fontSize:15,
width:width * 0.7,

},

bottomTitleStyle:{
color:'blue',
},
})
;


推荐阅读
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 本文详细介绍了 `org.apache.tinkerpop.gremlin.structure.VertexProperty` 类中的 `key()` 方法,并提供了多个实际应用的代码示例。通过这些示例,读者可以更好地理解该方法在图数据库操作中的具体用途。 ... [详细]
  • Flutter 核心技术与混合开发模式深入解析
    本文深入探讨了 Flutter 的核心技术,特别是其混合开发模式,包括统一管理模式和三端分离模式,以及混合栈原理。通过对比不同模式的优缺点,帮助开发者选择最适合项目的混合开发策略。 ... [详细]
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • React项目基础教程第五课:深入解析组件间通信机制 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 使用TabActivity实现Android顶部选项卡功能
    本文介绍如何通过继承TabActivity来创建Android应用中的顶部选项卡。通过简单的步骤,您可以轻松地添加多个选项卡,并实现基本的界面切换功能。 ... [详细]
  • 如何从BAM文件绘制ATAC-seq插入片段长度分布图?
    在ATAC-seq数据处理中,插入片段长度的分布图是一个重要的质量控制指标,它能反映出核小体的周期性排列。本文将详细介绍如何从BAM文件中提取并绘制这些数据。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • 未定义的打字稿记录:探索其成因与解决方案 ... [详细]
  • 深入解析:React与Webpack配置进阶指南(第二部分)
    在本篇进阶指南的第二部分中,我们将继续探讨 React 与 Webpack 的高级配置技巧。通过实际案例,我们将展示如何使用 React 和 Webpack 构建一个简单的 Todo 应用程序,具体包括 `TodoApp.js` 文件中的代码实现,如导入 React 和自定义组件 `TodoList`。此外,我们还将深入讲解 Webpack 配置文件的优化方法,以提升开发效率和应用性能。 ... [详细]
  • 在深入研究 React 项目的过程中,特别是在探索 react-router 源码时,我发现了其中蕴含的中间件概念。这激发了我对中间件的进一步思考与整理。本文将详细探讨 Redux 中间件的原理及其在实际项目中的应用,帮助读者更好地理解和使用这一强大工具。通过具体示例和代码解析,我们将揭示中间件如何提升应用的状态管理和异步操作处理能力。 ... [详细]
  • 本文源自极分享,详细内容请参阅原文。技术债务如同信用卡负债,随着时间推移,修复成本会越来越高,因此程序员必须对此有深刻认识。此外,团队应致力于培养一种持续维护和优化代码的文化,以减少技术债务的累积。 ... [详细]
  • 注册一个GitHub用户的过程
    今天,我注册了一个GitHub用户。一开始,不知道GitHub是什么,还以为叫什么getup,心里还想着什么网站名字这么奇怪,后来在舍友的帮助之下知道了原来是叫GitHub.下面是我的注册过程: ... [详细]
author-avatar
三心两意真实扭
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有