react-native – 如何自定义React Native ListView的RefreshControl的外观

前端之家收集整理的这篇文章主要介绍了react-native – 如何自定义React Native ListView的RefreshControl的外观前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
React Native的ListView有一个名为 RefreshControl的内置pull-to-refresh控件.它非常易于使用.

我想自定义控件的外观和感觉,以使用不同的视觉设计,例如使用材料设计进度指示器.

如何在React Native中自定义RefreshControl的外观?

你可以通过这样做来超越它:

>为ListView设置透明属性
>添加具有绝对位置的组件

例:

<View style={{height:Dimensions.get('window').height}}>
  {/* custom refresh control */}
  <View
    style={{position:'absolute',width:Dimensions.get('window').width,height:60,alignItems:'center',justifyContent:'center'}}>
    <Progress.CircleSnail
      color={['red','green','blue']}
      duration={700} />
  </View>
  {/* list view*/}
  <ListView
    dataSource={this.state.dataSource}
    refreshControl={
      <RefreshControl
        onLayout={e => console.log(e.nativeEvent)}
        // all properties must be transparent
        tintColor="transparent"
        colors={['transparent']}
        style={{backgroundColor: 'transparent'}}
        refreshing={this.state.refreshing}
        onRefresh={() => {
          this.setState({refreshing:true});
          setTimeout(() => {
            this._addRows()
          },2000);
        }}
        />
    }
    renderRow={(rowData) => <Text>{rowData}</Text>} />
</View>

这是结果:

猜你在找的React相关文章