美文网首页react native
React-native图片组件以及无法显示图片问题总结

React-native图片组件以及无法显示图片问题总结

作者: Jerry379 | 来源:发表于2018-06-17 17:24 被阅读2362次

    首先,总结一下React-native的Image组件的使用方法.

    Image组件的引入图片提供了下面这几种类型:静态图片资源,网络图片资源

    静态图片资源

    <Image source={require('./my-icon.png')} />
    

    网络图片资源

    <Image
        style={styles.logo}
        source={{uri: 'http://facebook.github.io/react/img/logo_og.png'}}
    />
    

    注意事项

    上面说了那么多概念似的说明,但是,实践过程中总会有一些坎坷。下面就是一些注意事项了。

    背景图片的实现

    写过前端页面的朋友应该都知道html中不光可以使用image标签来展示图片,还有可以使用背景图片(background-image)的形式来展现。要实现这样的功能只需要新增一个Image组件,然后把需要背景图的子组件嵌入其中即可。

    render (){
        return (
            <Image source={'./background.png'} style={{width:200,height:20}}>
                <Text>这个文本下面有背景哦</Text>
            </Image>
        )
    }
    

    图片不显示的几种可能性

    1. 图片没有指定宽高
    <Image source={require('./my-icon.png')} style={{width:20,height:20}}/>
    const imageObj={
        width:20,
        height:20
    }
    <Image source={require('./my-icon.png')} style={imageObj}/>
    
    1. 加载网络资源时,加载的图片不显示。

      Ios9以后默认只能https传输,所以我们需要调整工程目录下的projectName/Info.plist文件


      项目目录信息

      添加Allow Arbitrary Loads的key值,value为 YES


      需要修改的字段

      完工。

    2. 使用require使用静态图片资源报错

      因为懒,使用了微信截图的默认名称WX20180523-232003@2x.png结果报错了,说图片找不到

    WX20180617-144007@2x.png

    修改图片名称以后,就可以显示正常。

    1. 没有使用支持的图片格式
    • React Native 默认支持 JPG、PNG 格式。
    • 在 iOS 平台下,还支持 GIF、WebP 格式。
    • 在 Android 平台下,默认不支持 GIF、WebP 格式。可以通过修改 Android 工程设置让其支持这两种格式:打开项目目录下的android/app/build.gradle,视情况添加相关代码:
    dependencies {
      compile 'com.facebook.fresco:animated-gif:0.11.0'  //需要GIF动画支持添加本行语句
      compile 'com.facebook.fresco:webpsupport:0.11.0'  //需要WebP格式支持添加本行语句
      compile 'com.facebook.fresco:animated-webp:0.11.0'  //需要WebP动画支持添加本行语句
    }
    

    (本条转自React Native - Image组件的使用详解(加载资源、网络、本地图片))

    相关文章

      网友评论

        本文标题:React-native图片组件以及无法显示图片问题总结

        本文链接:https://www.haomeiwen.com/subject/wpuweftx.html