ReactNative 開發(fā)Image圖片自適應(yīng)寬高

1. 如果是本地圖片

主要是 aspect-radio css標(biāo)簽用法,保持縱橫比,需用看圖軟件查看圖片寬高然后填入aspectRadio 屬性,比如這里我的 sss.png 圖片 1700 是寬,600 是高則填寫 1700 / 600

Example: 寬度100%,高度自適應(yīng)
<Image source={require('../../assetc/images/sss.png')} style={{width: '100%', aspectRadio: 1700 / 600}} />

2. 如果是遠(yuǎn)程圖片

遠(yuǎn)程圖片需要異步先獲取一下尺寸,再動(dòng)態(tài)更改 Image 的 height

import {Image, useWindowDimensions} from 'react-native';

const Example = () => {
  const [imageHeight, setImageHeight] = React.useState(0);
  const {width} = useWindowDimensions();

  React.useEffect(() => {
    init();
  }, []);

  async function init(){
    //  todo..獲取遠(yuǎn)程API
    Image.getSize("https://xx.com/ddd.png", (w, h) => {
      setImageHeight(width / w * h);  // 根據(jù)屏幕寬得到圖片寬縮放比例然后乘到高度上
    });
  }
  
  return <View>
   <Image source={require('../../assetc/images/sss.png')} style={{width: '100%', height: imageHeight}} />
  </View>
}




?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容