@H_403_6@@H_403_6@
http://www.jb51.cc/article/p-mynggxpn-bgy.html
@H_403_6@@H_403_6@
本文出自:【江清清的博客】@H_403_6@@H_403_6@
(@H_403_6@一@H_403_6@)@H_403_6@前言@H_403_6@@H_403_6@
【好消息】个人网站已经上线运行,后面博客以及技术干货等精彩文章会同步更新,请大家关注收藏:@H_403_6@http://www.lcode.org@H_403_6@@H_403_6@@H_403_6@@H_403_6@@H_403_6@
今天我们一起来看一下@H_403_6@Pull@H_403_6@ToRefreshViewAndroid@H_403_6@下拉刷新组件讲解以及使用实例@H_403_6@
@H_403_6@刚创建的@H_403_6@React Native@H_403_6@技术交流群@H_403_6@(@H_403_6@282693535@H_403_6@),@H_403_6@欢迎各位大牛@H_403_6@,@H_403_6@React@H_403_6@ Native@H_403_6@技术爱好者加入交流@H_403_6@!@H_403_6@同时博客左侧欢迎微信扫描关注订阅号@H_403_6@,@H_403_6@移动技术干货@H_403_6@,@H_403_6@精彩文章技术推送@H_403_6@!@H_403_6@
@H_403_6@该@H_403_6@PullToRefreshViewAndroid@H_403_6@视图是封装了@H_403_6@Android@H_403_6@平台的下拉刷新组件@H_403_6@(SwipeRefreshLayout)@H_403_6@,该组件支持设置单一的可以滚动的子视图@H_403_6@(@H_403_6@例如@H_403_6@:ScrollView)@H_403_6@。当内部的子视图的垂直方向的偏移量@H_403_6@scrollY:0@H_403_6@的时候,手指往下拖拽该视图的时候回触发@H_403_6@onRefresh@H_403_6@事件方法。@H_403_6@
[@H_403_6@注意@H_403_6@].@H_403_6@该组件风格需要设置成@H_403_6@{flex:1}@H_403_6@。当我们滚动的子视图为@H_403_6@ScrollView@H_403_6@或者ListView的时候。@H_403_6@
(@H_403_6@二@H_403_6@)@H_403_6@属性方法@H_403_6@@H_403_6@
1.@H_403_6@继@H_403_6@承可以使@H_403_6@用@H_403_6@View@H_403_6@组件@H_403_6@的@H_403_6@所有@H_403_6@Style@H_403_6@(@H_403_6@具体查看:@H_403_6@http://facebook.github.io/react-native/docs/view.html#style)@H_403_6@
2.colors[ColorPropType] @H_403_6@设置下拉刷新加载进度指示器的颜色,可以设置多多种颜色@H_403_6@(@H_403_6@最多设置四种@H_403_6@)@H_403_6@
3.enabled bool @H_403_6@设置是否启动下拉刷新的功能@H_403_6@
4.@H_403_6@pro@H_403_6@gressBackgroundColorColorPropType @H_403_6@设置设置下拉刷新加载进去指示器的背景颜色@H_403_6@
5.@H_403_6@refresh@H_403_6@ing bool @H_403_6@设置当前进去指示器是否在活跃状态,也表明当前是不是在下拉刷新状态@H_403_6@
6.@H_403_6@size@H_403_6@RefreshLayoutConsts.SIZE.DEFAULT@H_403_6@下拉刷新指示器的尺寸大小,详细请查看@H_403_6@PullToRefreshViewAndroid.SIZE@H_403_6@值@H_403_6@(@H_403_6@点击进入)@H_403_6@
(@H_403_6@三@H_403_6@)@H_403_6@使用实例@H_403_6@@H_403_6@
@H_403_6@上面已经基本介绍了@H_403_6@PullToRefreshAndroid@H_403_6@View@H_403_6@的的基本介绍和相关属性介绍,下面我们来用一个实例来具体演示一下该组件的具体使用。@H_403_6@
该实例从官方实例中进行修改而来,具体代码如下@H_403_6@:@H_403_6@
'use strict'; const React =require('react-native'); const { AppRegistry,ScrollView,StyleSheet,PullToRefreshViewAndroid,Text,View,} = React; const styles =StyleSheet.create({ row: { borderColor: 'red',borderWidth: 2,padding: 20,backgroundColor: '#3ad734',margin: 5,},text: { alignSelf: 'center',color: '#fff',layout: { flex: 1,scrollview: { flex: 1,}); const Row =React.createClass({ render: function() { return ( <View style={styles.row}> <Text style={styles.text}> {this.props.data.text } </Text> </View> ); },}); constPullToRefreshDemo = React.createClass({ getInitialState() { return { isRefreshing: false,loaded: 0,rowData: Array.from(new Array(20)).map( (val,i) => ({text:'初始行' + i}) ),}; },render() { const rows = this.state.rowData.map((row,ii) => { return <Row key={ii} data={row} />; }); return ( <PullToRefreshViewAndroid style={styles.layout} refreshing={this.state.isRefreshing} onRefresh={this._onRefresh} colors={['#ff0000','#00ff00','#0000ff','#123456']} progressBackgroundColor={'#ffffff'} > <ScrollViewstyle={styles.scrollview}> {rows} </ScrollView> </PullToRefreshViewAndroid> ); },_onRefresh() { this.setState({isRefreshing: true}); setTimeout(() => { // 进行准备5项新数据 const rowData = Array.from(new Array(5)) .map((val,i) => ({ text: '下拉刷新行' + (+this.state.loaded + i) })) .concat(this.state.rowData); this.setState({ loaded: this.state.loaded + 5,isRefreshing: false,rowData: rowData,}); },5000); },}); AppRegistry.registerComponent('PullToRefreshDemo',() => PullToRefreshDemo);
(@H_403_6@四@H_403_6@)@H_403_6@最后总结@H_403_6@@H_403_6@
@H_403_6@今天我们主要学习一下@H_403_6@PullToRefreshAndroidView@H_403_6@组件的基本介绍和实例演示使用。大家有问题可以加一下群@H_403_6@React Native@H_403_6@技术交流群@H_403_6@(@H_403_6@282693535@H_403_6@)@H_403_6@或者底下进行回复一下。@H_403_6@
@H_403_6@
尊重原创,转载请注明:From Sky丶清(@H_403_6@http://blog.csdn.net/developer_jiangqq) 侵权必究!@H_403_6@@H_403_6@
关注我的订阅号(codedev123),每天分享移动开发技术(Android/IOS),项目管理以及博客文章!(欢迎关注,第一时间推送精彩文章)
@H_403_6@
关注我的微博,可以获得更多精彩内容@H_403_6@@H_403_6@
@H_403_6@