本文基於React Native 0.52react
Demo上傳到Git了,有須要能夠看看,寫了新內容會上傳的。Git地址 https://github.com/gingerJY/React-Native-Demogit
輪播圖幾乎是必備的效果,這裏選擇 react-native-swiper 來實現,效果以下圖:github
一、經過npm安裝react-native-swipernpm
npm install react-native-swiper --save
二、在recommend.js引入react-native-swiperreact-native
import Swiper from 'react-native-swiper';
三、用 react-native-swiper 能夠很容易的實現輪播的效果app
<Swiper style={styles.wrapper} height={width*40/75} showsButtons={false} autoplay={true} paginationStyle={styles.paginationStyle} dotStyle={styles.dotStyle} activeDotStyle={styles.activeDotStyle} > <Image source={require('../../img/1.jpg')} style={styles.bannerImg} /> <Image source={require('../../img/2.jpg')} style={styles.bannerImg} /> <Image source={require('../../img/3.jpg')} style={styles.bannerImg} /> <Image source={require('../../img/4.jpg')} style={styles.bannerImg} /> <Image source={require('../../img/3.jpg')} style={styles.bannerImg} /> </Swiper>
樣式:flex
const styles = StyleSheet.create({ container: { flex: 1, alignItems: 'center', backgroundColor: '#fff', }, bannerImg: { height: width*40/75, width: width, }, wrapper: { width: width, }, paginationStyle: { bottom: 6, }, dotStyle: { width: 22, height: 3, backgroundColor:'#fff', opacity: 0.4, borderRadius: 0, }, activeDotStyle: { width: 22, height: 3, backgroundColor:'#fff', borderRadius: 0, }, });
輪播圖放在APP的首頁,一樣有不顯示的問題,解決辦法和上一篇的辦法幾乎同樣,能夠看一下上一篇或是完整代碼,這裏就再也不贅述。ui
這裏和上一篇相比有兩處不同,須要說一下。this
一、真正調用接口加載圖片的時候,不會出現一開始圖片不顯示的問題。spa
二、在狀態爲false的時候,先顯示第一張圖片
if (this.state.swiperShow) { return ( <Swiper > …………略 </Swiper> ) } else { return ( <View style={{ height: width*40/75 }}> <Image source={require('../../img/1.jpg')} style={styles.bannerImg} /> </View> ); }
recommend.js完整代碼 https://github.com/gingerJY/example/blob/master/RN_swiper/recommend.js
END-------------------------------------------------------------
春運啊ε=(´ο`*)))