<button id="9slfp"><object id="9slfp"></object></button>
<button id="9slfp"><object id="9slfp"><menuitem id="9slfp"></menuitem></object></button>
    <em id="9slfp"></em>
    <button id="9slfp"><acronym id="9slfp"><input id="9slfp"></input></acronym></button>
  • 免費開源的iOS開發學習平臺

    React Native基礎:9-Image組件

    Image組件介紹

    Image組件是可以顯示圖片的React Native組件。Image組件既可以顯示網絡圖片,也可以顯示本地圖片。Image組件幾乎是開發任何一個App都需要的組件。

    在實際開發過程中,我們可以從多種途徑加載所需的圖片資源,諸如從網絡加載圖片,或者從本地加載靜態圖片資源等。在使用React Native過程中,對于圖片的加載有如下4種常見情況。

    • 加載網絡圖片。Image組件能直接顯示網絡圖片,由于網絡圖片是存儲在服務端的,所以在渲染的時候Image組件的大小是未知的,因此需要手動指定style屬性中的寬高數值。
    <Image
    style={{width: 150, height: 150, backgroundColor: 'skyblue'}}
    source={{uri:'https://facebook.github.io/react/img/logo_og.png'}}
    />
    
    • 加載Images.xcassets中的圖片。在Xcode中,我們可以添加圖片到Images.xcassets中,對于添加到Images.xcassets中的圖片,我們可以直接通過其圖片名稱進行加載。例如,在Images.xcassets中存放著一個名稱為99ios的圖片。
    <Image
    style={{width: 150, height: 150}}
    source={{uri: '99ios'}}
    />
    
    • 加載本地靜態圖片資源。對于本地靜態圖片一般推薦把圖片統一放在組件內部,即圖片與JS代碼放在相同的文件夾,這樣做的好處在于組件可以包含自己所用的圖片而不用再單獨設置了。對于組件內部圖片,我們可以不指定Image組件的大小而直接顯示出來。
    <Image 
    source={require('./img/99ios.png')} 
    />
    
    • 加載Base64圖片。Base64編碼的圖片也需要指定大小才能正常顯示,加載的方法如下。
    var base64Icon = 'data:image/png;base64,...';
    
    <Image
    style={{width: 100, height: 100}}
    source={{uri: base64Icon}}
    />
    

    Image組件使用示例

    下方的示例代碼中,演示了Image組件從網絡加載圖片的實現方法。

    • 在終端中執行如下命令,創建名稱為ImageDemo的工程
    react-native init ImageDemo
    
    • 使用Atom打開ImageDemo工程的index.ios.js文件,編寫組件所使用的樣式
    const styles = StyleSheet.create({
      container: {
        flex: 1,
        flexDirection: 'column',
        justifyContent: 'center',
        alignItems: 'center',
        backgroundColor: '#F5FCFF',
      },
    });
    
    • 在一個View組件中添加一個Image組件,該Image組件從網絡加載一張圖片。
    export default class ImageDemo extends Component {
      render() {
        return (
          <View style={styles.container}>
            <Image
              style={{width: 200, height: 200, backgroundColor: 'skyblue'}}
              source={{uri:'https://facebook.github.io/react/img/logo_og.png'}}
            />
          </View>
        );
      }
    }
    
    • 使用import加載項目所使用的模塊,并且注冊組件ImageDemo成為整個應用的根容器
    import React, { Component } from 'react';
    import {
      AppRegistry,
      StyleSheet,
      Image,
    } from 'react-native';
    
    AppRegistry.registerComponent('ImageDemo', () => ImageDemo);
    
    • 在終端中執行下面的命令運行程序,在iOS模擬器中可以看到顯示的Image組件的樣式,并且加載了一張網絡圖片。
    react-native run-ios
    


    精品h动漫无遮挡在线看中文|久久精品国产精品亚洲艾草|久久亚洲春色中文字幕|精品人妻少妇一区二区三区|欧美精品v国产精品v

    <button id="9slfp"><object id="9slfp"></object></button>
    <button id="9slfp"><object id="9slfp"><menuitem id="9slfp"></menuitem></object></button>
    <em id="9slfp"></em>
    <button id="9slfp"><acronym id="9slfp"><input id="9slfp"></input></acronym></button>