React-native Image的初識
Image元件的常見屬性:
屬性方法
- onLoad(function):當圖片載入成功後,回撥該方法
- onLoadStart(function):當圖片開始載入的時候呼叫該方法
- onLoadEnd(function):當圖片載入結束回撥該方法,不會管圖片載入成功還是失敗
- onLayout(function):當 Image 佈局發生變化會呼叫該方法
- resizeMode:縮放比例,(包含可選引數’cover’, ‘contain’, ‘stretch’),當該圖片的尺寸超過佈局的尺寸時,會根據設定 Mode 進行縮放或剪裁圖片
- source{uri:string}:進行標記圖片引用,該引數可以為一個網路 url地址 或者 一個本地路徑
樣式屬性
- FlexBox:支援彈性盒子風格
- Transforms:支援屬性動畫
- backgroundcolor:背景顏色
- borderColor:邊框顏色
- borderWidth:邊框寬度
- borderRadius:邊框圓角
- overflow:設定圖片尺寸超過容器可以設定顯示或隱藏(‘visible’, ‘hidden’)
- tintColor:顏色設定
- opacity:設定透明度(取值範圍0.0(全透明)~ 1.0(不透明))
1、沒有設定width和height的情況下,預設為圖片的寬高
/* 不設定尺寸的情況下 */
<Image source={require('./imgs/icon.png' )} />
效果圖:
2、設定width和height的情況下,尺寸圖片的寬高
/* 設定尺寸的情況下 */
<View style={styles.container}>
<Image source={require('./imgs/icon.png')} />
<Image source={require('./imgs/icon.png')} style={styles.imgStyle} />
</View>
const styles = StyleSheet.create({
imgStyle:{
width:30 ,
height:20,
},
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
});
效果圖:
3、載入網路圖片
{/* uri是固定寫法,後面跟上圖片網路URL地址的字串即可,還有,網路圖片必須設定圖片的大小,否則無法顯示,一般還需要配合填充方式以達到想要的效果 */}
<Image source={{uri:'http://avatar.csdn.net/5/F/0/1_zww1984774346.jpg'}} style={styles.imgStyle2}/>
效果圖:
4、動態設定圖片的寬與螢幕等寬
// 匯入Dimensions庫
var Dimensions = require('Dimensions');
export default class firstProgram extends Component {
render() {
// var movie = MOCKED_MOVIES_DATA[0];
return (
<View style={styles.container}>
<Image source={require('./imgs/icon.png')} />
<Image source={require('./imgs/icon.png')} style={styles.imgStyle} />
{/* uri是固定寫法,後面跟上圖片網路URL地址的字串即可,還有,網路圖片必須設定圖片的大小,否則無法顯示,一般還需要配合填充方式以達到想要的效果 */}
<Image source={{uri:'http://avatar.csdn.net/5/F/0/1_zww1984774346.jpg'}} style={styles.imgStyle2}></Image>
</View>
);
}
}
const styles = StyleSheet.create({
imgStyle:{
width:30,
height:20,
},
imgStyle2:{
// 設定背景顏色
backgroundColor:'green',
// 設定寬度
width:Dimensions.get('window').width,
// 設定高度
height:150
},
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
});
AppRegistry.registerComponent('firstProgram', () => firstProgram);
效果圖:
圖片填充模式:
- cover( 預設):圖片居中顯示且不拉伸圖片,超出的部分剪裁掉
imgStyle2:{
// 設定背景顏色
backgroundColor:'green',
// 設定寬度
width:Dimensions.get('window').width,
// 設定高度
height:150
resizeMode:'cover'
}
- contain:容器完全容納圖片,圖片等比例進行拉伸
imgStyle2:{
// 設定背景顏色
backgroundColor:'green',
// 設定寬度
width:Dimensions.get('window').width,
// 設定高度
height:150
resizeMode:'contain'
}
效果圖:
- stretch:圖片被拉伸至與容器大小一致,可能會發生變形
```
imgStyle2:{
// 設定背景顏色
backgroundColor:'green',
// 設定寬度
width:Dimensions.get('window').width,
// 設定高度
height:150
resizeMode:'stretch'
}
效果:
demo1:
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Image,
Text,
View,
TabBarIOS,
NavigatorIOS,
ScrollView,
TouchableHighlight
} from 'react-native';
// 匯入Dimensions庫
var Dimensions = require('Dimensions');
export default class firstProgram extends Component {
render() {
// var movie = MOCKED_MOVIES_DATA[0];
return (
<View style={styles.container}>
{/* 因為還沒講到listView,這邊就用View代表Cell*/}
<View style={styles.cellStyle}>
{/* 頭像 */}
<Image source={require('./imgs/2.png')} style={styles.imgStyle}></Image>
{/* 暱稱 */}
<Text style={styles.nameStyle}>暱稱</Text>
</View>
{/* 分隔線 */}
<View style={styles.lineStyle}></View>
<View style={styles.cellStyle}>
{/* 頭像 */}
<Image source={require('./imgs/2.png')} style={styles.imgStyle}></Image>
{/* 出生日期 */}
<Text style={styles.nameStyle}>出生日期</Text>
</View>
{/* 分隔線 */}
<View style={styles.lineStyle}></View>
<View style={styles.cellStyle}>
{/* 頭像 */}
<Image source={require('./imgs/2.png')} style={styles.imgStyle}></Image>
{/* 籍貫 */}
<Text style={styles.nameStyle}>籍貫</Text>
</View>
{/* 分隔線 */}
<View style={styles.lineStyle}></View>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
marginTop:20,
backgroundColor:'white',
flex:1,
// 設定換行方式
flexWrap:'wrap'
},
cellStyle: {
// 尺寸
height:44,
width:Dimensions.get('window').width,
// 設定背景顏色
backgroundColor:'white',
// 設定主軸方向
flexDirection:'row',
// 設定側軸對齊方式
alignItems:'center'
},
imgStyle: {
width:30,
height:30,
// 設定圖片填充模式
resizeMode:'cover',
// 設定圓角
borderRadius:15,
// 設定圖片位置
marginLeft:10
},
nameStyle: {
// 設定暱稱位置
marginLeft:10
},
lineStyle: {
// 背景色
backgroundColor:'black',
// 設定尺寸
width:Dimensions.get('window').width,
height:1
}
});
AppRegistry.registerComponent('firstProgram', () => firstProgram);
效果圖:
相關推薦
React-native Image的初識
Image元件的常見屬性: 屬性方法 onLoad(function):當圖片載入成功後,回撥該方法 onLoadStart(function):當圖片開始載入的時候呼叫該方法 onLoadEnd(function):當圖片載入結束回撥該方法,不會管圖片載
React Native Image多種加載圖片方式
ner styles ole 刷新 理論 width reg apple content p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica } p.p2 { margin: 0.0px 0.0px
RN 使用第三方組件之react-native-image-picker
app ons sep too code project width odata ext 首先給個github地址:https://github.com/react-community/react-native-image-picker 該插件可以同時給iOS和Andro
12月11日,發生大面積的包含 react-native-image-picker 的安卓專案啟動崩潰現象解決方案。(我的已經解決)
12月11日,發生大面積的包含 react-native-image-picker 的安卓專案啟動崩潰現象。疑似原因為maven源丟失。解決方案見github:https://github.com/react-native-community/react-native-image-picke
react-native多圖上傳 react-native-image-picker圖片上傳之多個上傳圖片
話不多說 直接貼程式碼, 如有疑問 下方留言或者發郵箱 引入需要的元件 import ImagePicker2 from 'react-native-image-picker'; import RNHeicConverter from 'react-native
react native Image 使用詳解
Image是顯示圖片的元件。可以載入網路圖片、靜態資源、臨時的本地圖片、以及本地磁碟上的圖片。本地磁碟上的圖片需要在路徑前加 ‘file://’。 resizeMode:元件尺寸和圖片尺寸不成比
React Native 使用react-native-image-picker庫實現圖片上傳功能
react-native-image-picker作為一個整合相機和相簿的功能的第三方庫,因為其使用相對簡單受到前端開發人員的喜愛。 react-native-image-picker使用 1, 首先,安裝下該外掛。 npm install rea
React-Native Image載入本地圖片報錯error: bundling failed: Error: Unable to resolve module
在初步學習React-Native 用Imgae載入本地的時候 遇到了這個問題,程式碼是這樣的在根目錄下的images資料夾內有backicon.png這張圖片按上面配置的路徑,在程式碼中是可以定位到圖片的,但是實際執行測試就報錯找不到這個圖片,後來測試才發現要這樣寫改成這樣
react-native-image-picker在Android上閃退的解決辦法(上傳頭像base64,壓縮上傳圖片)
問題描述:最近做專案上傳頭像時用到了react-native-image-picker第三方庫,使用的是 base64格式 上傳,在以下配置的情況下,android點選選擇相簿會遇到閃退的問題,找到了
react-native-image-picker在iOS上閃退的解決辦法
最近做專案用到了react-native-image-picker這個圖片選擇的第三方庫,但在正確配置的情況下,點選選擇相簿會遇到閃退的問題,憑藉開發原生的經驗,找到了問題所在,在這裡分享一下解決辦法。 http://www.jianshu.com/p/977bc5ee
react-native-image-picker
這個糾結了很久的問題,翻了N遍的stackoverflow,上面的方法沒有一個可以解決, 最後忽然發現是我之前的一個錯誤習慣導致的 之前一直這樣導第三方包,好像沒出過問題, 這次不行了 改成 完美解決 浪費我好長時間
React Native--Image控制元件
基本用法 載入本地圖片 <Image source={require('./img/baidu.png')}/> 載入App內資源圖片 <Image sou
使用react-native-image-crop-picker上傳圖片
使用reac-native的圖片上傳外掛image-crop-picker上傳圖片的時候遇到了好多坑,真是把我坑慘了。 安裝 安裝可以參考外掛提供的方法去安裝。需要注意的是,如果android或者ios是有人負責的話就不要link了。link會自動關聯程
react native Image ImageBackground詳解
在rn版本0.46版本的時候添加了ImageBackground控制元件,在0.46版本以後使用Image的時候不能在巢狀使用,ImageBackground就是解決這個問題的,現在如果在 標籤中巢狀其他元件現在會報黃盒警告。ImageBackground的使
《ReactNative》之react-native-image-crop-picker儲存圖片到應用內部
在使用react-native-image-crop-picker(版本0.20.0)元件選擇圖片的時候,我希望將選取的圖片儲存到應用內部。但是在ios端,選取的圖片被儲存在臨時目錄中,大約3天左右會被自動刪除。在android端,選取的圖片沒有往App內部儲存,還是在原來的
react-native-image-crop-picker學習
react-native-image-crop-picker是一款注重剪裁,相簿單選、多選的第三方框架。在我集成了react-native-image-picker的時候發現,他的剪裁不太友好。作者推薦了這個react-native-image-crop-picker。
React-Native-image-picker-調取攝像頭第三方元件:
近期做的軟體中圖片處理是重點,那麼自然也就用到了相機照相或者相簿選取照片的功能。 react-native中有image-picker這個第三方元件,但是0.18.10這個版本還不是太支援iPad。 這個元件同時支援photo和video,也就是照片和視訊都可以用這個
React Native 使用react-native-image-picker外掛上傳圖片詳細步驟
專案需要用到上傳圖片功能,經過一番折騰勉強完成需求,整理一下做個記錄。外掛選擇是react-native-image-picker,還挺好用的,不過需要分ios和android不同平臺去配置.http://www.jianshu.com/p/8dd405dbd663 IO
react-native Text和Image混合嵌套布局
ati turn ext style view ima 保險 ext1 text1 <View style={[styles.p4_text1,]}> {"以下各項稅費及商業保險僅供客戶參考不作為最終購車價格".split("").map((str)=&g
react native 初識生命周期
慕課 事件觸發 回調函數 這不 框架 相關 大型項目 網絡請求 prop 關於生命周期這塊,我是看到慕課堂的一個視頻,覺得將的很好,引入很容易理解,地址是:https://www.imooc.com/video/14288 如果你們想了解一下,也可以去看看 RN