• React Native控件之PullToRefreshViewAndroid下拉刷新组件解说(20)


    转载请标明出处:

    http://blog.csdn.net/developer_jiangqq/article/details/50664323

    本文出自:【江清清的博客】

    ()前言

             【好消息】个人站点已经上线执行,后面博客以及技术干货等精彩文章会同步更新。请大家关注收藏:http://www.lcode.org       

           今天我们一起来看一下PullToRefreshViewAndroid下拉刷新组件解说以及使用实例

              刚创建的React Native技术交流3群(496508742),React Native技术交流4群(458982758)。请不要反复加群。欢迎各位大牛,React Native技术爱好者增加交流!同一时候博客左側欢迎微信扫描关注订阅号,移动技术干货,精彩文章技术推送!

              PullToRefreshViewAndroid视图是封装了Android平台的下拉刷新组件(SwipeRefreshLayout)。该组件支持设置单一的能够滚动的子视图(比如:ScrollView)。当内部的子视图的垂直方向的偏移量scrollY:0的时候。手指往下拖拽该视图的时候回触发onRefresh事件方法。

             [注意].该组件风格须要设置成{flex:1}。当我们滚动的子视图为ScrollView或者ListView的时候。

    ()属性方法

               1.承能够使View组件全部Style(详细查看:http://facebook.github.io/react-native/docs/view.html#style)

               2.colors[ColorPropType] 设置下拉刷新载入进度指示器的颜色,能够设置多多种颜色(最多设置四种)

               3.enabled  bool  设置是否启动下拉刷新的功能

               4.progressBackgroundColor  ColorPropType   设置设置下拉刷新载入进去指示器的背景颜色

               5.refreshing bool   设置当前进去指示器是否在活跃状态。也表明当前是不是在下拉刷新状态

               6.size  RefreshLayoutConsts.SIZE.DEFAULT  下拉刷新指示器的尺寸大小,详细请查看PullToRefreshViewAndroid.SIZE(点击进入)

    ()使用实例

          上面已经基本介绍了PullToRefreshAndroidView的的基本介绍和相关属性介绍。以下我们来用一个实例来详细演示一下该组件的详细使用。

    该实例从官方实例中进行改动而来,详细代码例如以下:

    '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);

    详细执行效果例如以下:


     

    ()最后总结

              今天我们主要学习一下PullToRefreshAndroidView组件的基本介绍和实例演示使用。

    大家有问题能够加一下群React Native技术交流群(282693535)或者底下进行回复一下。

           尊重原创,转载请注明:From Sky丶清(http://blog.csdn.net/developer_jiangqq) 侵权必究!

           关注我的订阅号(codedev123),每天分享移动开发技术(Android/IOS),项目管理以及博客文章!(欢迎关注。第一时间推送精彩文章)

         关注我的微博,能够获得很多其它精彩内容

          

  • 相关阅读:
    01_javaSE面试题:自增变量
    SpringBoot(二十)_404返回统一异常处理结果
    MD5加密工具代码
    SpringBoot(十九)_spring.profiles.active=@profiles.active@ 的使用
    读取本地文件转化成MultipartFile
    remote: http basic: access denied fatal: authentication failed for '‘解决办法
    git报错_you are not allowed to push code to protected branches on this project
    SpringBoot(十八)_springboot打成war包部署
    sql优化问题笔记(mysql)
    gitbook 简单使用
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7382625.html
Copyright © 2020-2023  润新知