美文网首页
react-native 动态计算图片宽高适配

react-native 动态计算图片宽高适配

作者: 風隨風去 | 来源:发表于2019-06-06 11:32 被阅读0次

干就完了!!!

const Dimensions = require('Dimensions');
const screenW = Dimensions.get('window').width;

//设置图片宽高--android、ios有兼容
  //android
  setSize(imgItem) {
    let { imgH } = this.state;
    let showH;
    if (Platform.OS != 'ios') {
        Image.getSize(imgItem, (w, h) => {//多张则循环判断处理
            showH = Math.floor(h / (w / (screenW - 20)));
            imgH[i] = showH;
            this.setState({ imgH: imgH });
        });
    }
  }
  //ios
  setSizeIos(imgItem) {
      let { imgH } = this.state;
      let showH;
      if (Platform.OS == 'ios') {
        Image.getSize(imgItem, (w, h) => {//同安卓
          showH = Math.floor(h / (w / (screenW - 20)));
          imgH[i] = showH;
          this.setState({ imgH: imgH });
        })
      }
  }
render() {
  let { imgH,img } = this.state;
  return (
    <View style={{flex:1,alignItems:'center',justifyContent:'center'}}>
      <Image
         onLoadStart={() => { this.setSize(img) }}//多张可多加该图index参数
         onLayout={() => { this.setSizeIos(img) }}
         style={{width:screenW-20,height:imgH}}
         source={{uri:img}}/>
    </View>
  )
}

** 注意:为达到适配效果,需要根据具体宽高其一来适配

相关文章

网友评论

      本文标题:react-native 动态计算图片宽高适配

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