在React Native中预加载图像

标签 image react-native preloading

我正在用React Native构建我的第一个应用程序,这是一个包含大量图像的应用程序。我想在图像加载时显示微调器而不是图像。听起来微不足道,但我没有找到解决方案。
我认为对于旋转器,我想使用ActivityIndicatorIOS,但是如何将其与Image组件结合起来?

<Image source={...}>
  <ActivityIndicatorIOS />
</Image>

这是正确的方向吗?我想念什么吗?

最佳答案

我会分享我的解决方案

<View>
    <Image source={{uri: this.state.avatar}} style={styles.maybeRenderImage}
                                   resizeMode={"contain"} onLoadStart={() => this.setState({loading: true})}
                                   onLoadEnd={() => {
                                       this.setState({loading: false})
    }}/>
    {this.state.loading && <LoadingView/>}
</View>

LoadingView.js
export default class LoadingView extends Component {
    render() {
        return (
            <View style={styles.container}>
                <ActivityIndicator size="small" color="#FFD700"/>
            </View>
        );
    }
}
const styles = StyleSheet.create({
    container: {
        position: "absolute",
        left: 0,
        right: 0,
        top: 0,
        bottom: 0,
        opacity: 0.7,
        backgroundColor: "black",
        justifyContent: "center",
        alignItems: "center",
    }
});

关于在React Native中预加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35265751/

相关文章:

python - 使用Opencv和pytesseract进行验证码预处理和求解

reactjs - 如何在 React Native 的 return 语句中编写 for 循环

android - 应用程序终止时后台获取react-native Android

android - 使用 Glide v4 预加载图像不起作用

javascript - Node - 从图像缓冲区解析 iptc 数据

c# 内存不足异常与 System.Drawing.Image

google-chrome - 使用 'preload' 链接指令在 Chrome 中预加载字体

javascript - 在数组中预加载图像(并等待它们下载)

c++ - 图像处理程序中的微小图像差异

javascript - React-Native 方法不会覆盖或实现父类(super class)型的方法