gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 14:49:48 43 4
gpt4 key购买 nike

React Native的ListView有一个内置的名为RefreshControl的下拉刷新控件。 super 好用。

我想自定义控件的外观,以使用其他视觉设计,例如使用 Material 设计进度指示器。

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

最佳答案

您可以通过执行以下操作来使其智能化:

  • transparent属性设置为ListView
  • 添加位置为absolute的组件

  • 例:
    <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>

    结果如下:

    sample result

    关于react-native - 如何自定义React Native ListView RefreshControl的外观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38256972/

    43 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com