React Native元件篇(二) — Image元件
1、什麼是Image元件
這裡的Image並不是iOS中的UIImage,而相當於UIImageView元件。通過這個元件可以展示各種各樣的圖片,而且在React Native中該元件可以通過多種方式載入圖片資源。
常見有如下載入方式:
- 從專案里載入
- 從APP中載入
- 載入網路圖片
2、Image元件的基本用法
2.1 從當前專案中載入圖片
首先先看一下圖片的位置:程式碼:
render() {
return(
<View style={{marginTop:100}} >
<Image
source={require('./image/image1.jpg')}
style={{width: 120, height: 120}} />
</View>
);
}
2.2 APP專案載入資源(iOS 是放在Asset裡)
還是先看下目錄檔案:
程式碼:
render() {
return(
<View style={{marginTop:100}} >
<Image
source={{uri:'test'}}
style={{width: 120, height: 120}} />
</View>
);
}
效果圖:
2.3 載入來自網路的圖片
程式碼:
render() {
return(
<View style={{marginTop:100,alignItems:'center'}} >
<Image
source={{uri:'https://www.baidu.com/img/bd_logo1.png'}}
style={{width: 120, height: 120}} />
</View>
);
}
效果:
3、Image元件的常見屬性
3.1 屬性方法
-
onLayout(function)
當Image佈局發生改變的,會進行呼叫該方法,呼叫的程式碼為:{nativeEvent: {layout: {x, y, width, height}}}. -
onLoad (function)
當圖片載入成功之後,回撥該方法 -
onLoadEnd (function)
當圖片載入失敗回撥該方法,該不會管圖片載入成功還是失敗 -
onLoadStart (fcuntion)
當圖片開始載入的時候呼叫該方法 -
resizeMode
縮放比例,可選引數('cover', 'contain', 'stretch') 該當圖片的尺寸超過佈局的尺寸的時候,會根據設定Mode進行縮放或者裁剪圖片 -
source{uri:string}
進行標記圖片的引用,該引數可以為一個網路url地址或者一個本地的路徑
先說下載入Image的回撥方法:
<Image
source={{uri:'https://www.baidu.com/img/bd_logo1.png'}}
style={{width: 120, height: 120}}
onLayout={()=>{alert('佈局變化回撥')}}
onLoad={()=>{console.log('載入回撥')}}
onLoadEnd={()=>{console.log('載入結束')}}
onLoadStart={()=>{alert('開始載入')}}
/>
console.log在控制檯輸出,類似OC nslog
想必大家也發現了載入網路圖片的時候,圖片被遮擋住了。這是因為圖片大小已經超過了我們指定寬高的相框,然而相片預設屬性並不是自適應。那我們應該調節resizeMode屬性來達到想要的內容。
- cover模式只求在顯示比例不失真的情況下填充整個顯示區域。可以對圖片進行放大或者縮小,超出顯示區域的部分不顯示, 也就是說,圖片可能部分會顯示不了。
- contain模式是要求顯示整張圖片, 可以對它進行等比縮小, 圖片會顯示完整,可能會露出Image控制元件的底色。 如果圖片寬高都小於控制元件寬高,則不會對圖片進行放大。
- stretch模式不考慮保持圖片原來的寬,高比.填充整個Image定義的顯示區域,這種模式顯示的圖片可能會畸形和失真。
3.2 樣式風格屬性
FlexBox 支援彈性盒子風格
Transforms 支援屬性動畫
backgroundColor 背景顏色
borderColor 邊框顏色
borderWidth 邊框寬度
borderRadius 邊框圓角
overflow 設定圖片尺寸超過容器可以設定顯示或者隱藏('visible','hidden')
tintColor 顏色設定
opacity 設定不透明度0.0(透明)-1.0(完全不透明)
程式碼:
style={{width: 120, height: 120 ,backgroundColor:'red',borderColor:'green',borderWidth:1,borderRadius:5,tintColor:'yellow',opacity:0.2}}
效果:
相關文章
- React Native元件篇(三) — TextInput元件React Native元件
- React Native元件篇(一) — Text元件React Native元件
- React Native元件(二)View元件解析React Native元件View
- React Native元件篇(四) — Touchable系列元件React Native元件
- React Native——Component(元件)React Native元件
- React Native 截圖元件React Native元件
- React Native 元件(一)元件的生命週期React Native元件
- Flutter元件學習(二)—— ImageFlutter元件
- React Native 文件檢視元件React Native元件
- 【原始碼解析】React Native元件渲染原始碼React Native元件
- React Native 互動元件之 SwitchReact Native元件
- React Native 圖片檢視元件React Native元件
- React Native 實現 Slider 元件React NativeIDE元件
- React Native圖片快取元件React Native快取元件
- React Native 定義元件(簡單)React Native元件
- React Native選擇器元件-react-native-slidepickerReact Native元件IDE
- Flutter元件ImageFlutter元件
- 自定義 React Native 二維碼掃描元件(簡單,易用!)React Native元件
- react-native配置react-native-image-crop-pickerReact
- React Native 實現城市選擇元件React Native元件
- React Native日期時間選擇元件React Native元件
- beeshell:開源的 React Native 元件庫React Native元件
- React Native 效能優化元件-PureComponentReact Native優化元件
- expo react-native視訊播放元件React元件
- React Native 自定義元件及屬性React Native元件
- React Native06 - TextInput元件、Touchable系列元件、QQ登入介面React Native元件
- React-Native學習系列(二) Image和ScrollViewReactView
- React元件編寫思路(二)React元件
- vue系列元件篇(二)Vue元件
- React Native常用三方元件庫大全React Native元件
- react元件通訊通識篇React元件
- react篇章-React 元件-複合元件React元件
- 美團React Native開源元件庫beeshell詳解React Native元件
- 開源React Native元件庫beeshell 2.0釋出React Native元件
- React Native 學習指南(三) - 把玩更多UI元件React NativeUI元件
- React Native元件學習 StatusBar(ES6)React Native元件
- React Native元件佈局應用示例小結React Native元件
- 國人自定義React Native開源元件ViewPagerReact Native元件Viewpager