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

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

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

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

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

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

例:

  1. <View style={{height:Dimensions.get('window').height}}>
  2. {/* custom refresh control */}
  3. <View
  4. style={{position:'absolute',width:Dimensions.get('window').width,height:60,alignItems:'center',justifyContent:'center'}}>
  5. <Progress.CircleSnail
  6. color={['red','green','blue']}
  7. duration={700} />
  8. </View>
  9. {/* list view*/}
  10. <ListView
  11. dataSource={this.state.dataSource}
  12. refreshControl={
  13. <RefreshControl
  14. onLayout={e => console.log(e.nativeEvent)}
  15. // all properties must be transparent
  16. tintColor="transparent"
  17. colors={['transparent']}
  18. style={{backgroundColor: 'transparent'}}
  19. refreshing={this.state.refreshing}
  20. onRefresh={() => {
  21. this.setState({refreshing:true});
  22. setTimeout(() => {
  23. this._addRows()
  24. },2000);
  25. }}
  26. />
  27. }
  28. renderRow={(rowData) => <Text>{rowData}</Text>} />
  29. </View>

这是结果:

猜你在找的React相关文章