ReactNative學習-滑動查看圖片第三方組件react-native-swiper

來源:互聯網
上載者:User

標籤:

滑動查看圖片第三方組件:react-native-swiper,現在的版本為:1.4.3,該版本還不支援Android。

下面介紹的是該組件的一些用法,可能總結的不完整,希望大家一起來共同完善。

官方文檔:https://github.com/leecade/react-native-swiper

安裝

npm install --save react-native-swiper

基礎用法
import React, {AppRegistry,Component,StyleSheet,Text,View} from ‘react-native‘;import Swiper from ‘react-native-swiper‘; class swiper extends Component {  render() {     return (      <Swiper style={styles.wrapper}               showsButtons={true}              index={1}              loop={false}              >        <View style={styles.slide1}>          <Text style={styles.text}>Hello Swiper</Text>        </View>        <View style={styles.slide2}>          <Text style={styles.text}>Beautiful</Text>        </View>        <View style={styles.slide3}>          <Text style={styles.text}>And simple</Text>        </View>      </Swiper>    )  }} var styles = StyleSheet.create({  wrapper: {  },  slide1: {    flex: 1,    justifyContent: ‘center‘,    alignItems: ‘center‘,    backgroundColor: ‘#9DD6EB‘,  },  slide2: {    flex: 1,    justifyContent: ‘center‘,    alignItems: ‘center‘,    backgroundColor: ‘#97CAE5‘,  },  slide3: {    flex: 1,    justifyContent: ‘center‘,    alignItems: ‘center‘,    backgroundColor: ‘#92BBD9‘,  },  text: {    color: ‘#fff‘,    fontSize: 30,    fontWeight: ‘bold‘,  }}) AppRegistry.registerComponent(‘swiper‘, () => swiper)

這個組件可以應用於各種輪播圖,組件內建的設定還是很全面的(除了現在的版本還不相容Android),用法也不複雜。

  • 組件中使用index屬性來標識顯示當前的頁面,當頁面滑動的時候這個index肯定是會變化的,我們想在頁面滑動後,還能得到它的index值,可以使用onMomentumScrollEnd={(e, state, context)=>{this.currentIndex=state.index}},函數中得到的currentIndex便是當前頁面的index。
  • 測試的這個版本,如果loop設定為true,showsButtons設定也為true,會出現滑動有時不正常的情況,所以我將loop設定為false來解決這個問題了。
屬性

這裡只是列舉了一部分經常使用的屬性設定,有許多回呼函數的使用方法,我也不是特別熟悉,所以還是不誤導大家了,.大家可以上官網上詳細的瞭解。

1.Basic
Prop Default Type Description
horizontal true bool 如果值為true時,那麼滾動的內容將是橫向排列的,而不是垂直於列中的。
loop true bool 如果設定為false,那麼滑動到最後一張時,再次滑動將不會展示第一張圖片。
index 0 number 初始進入的頁面標識為0的頁面。
showsButtons false bool 如果設定為true,那麼就可以使控制按鈕(即:左右兩側的箭頭)可見。
autoplay false bool 設定為true,則頁面可以自動跳轉。
2.Custom basic style & content
Prop Default Type Description
width - number 如果你沒有特殊的設定,就通過flex:1預設為全屏。
height - number 如果你沒有特殊的設定,就通過flex:1預設為全屏。
style {...} style 設定頁面的樣式。
3.Pagination
Prop Default Type Description
showsPagination true bool 預設值為true,在頁面下邊顯示圓點,以標明當前頁面位於第幾個。
paginationStyle {...} style 設定頁面原點的樣式,自訂的樣式會和預設樣式進行合并。
renderPagination      
dot <View style={{backgroundColor:‘rgba(0,0,0,.2)‘, width: 8, height: 8,borderRadius: 4, marginLeft: 3, marginRight: 3, marginTop: 3, marginBottom: 3,}} /> element 可以自訂不是當前圓點的樣式
activeDot <View style={{backgroundColor: ‘#007aff‘, width: 8, height: 8, borderRadius: 4, marginLeft: 3, marginRight: 3, marginTop: 3, marginBottom: 3,}} /> element 可以自訂當前頁面圓點的樣式
4.Autoplay
Prop Default Type Description
autoplay true bool 設定為true可以使頁面自動滑動。
autoplayTimeout 2.5 number 設定每個頁面自動滑動停留的時間
autoplayDirection true bool 圓點的方向允許預設自己控制
5.Control buttons
Prop Default Type Description
showsButtons true bool 是否顯示控制箭頭按鈕
buttonWrapperStyle
{position: ‘absolute‘, paddingHorizontal: 15, paddingVertical: 30,  top: 70, left: 0, alignItems:‘flex-start‘}
style 定義預設箭頭按鈕的樣式
nextButton
<Text style={{fontSize:60, color:‘#00a7ec‘, paddingTop:30, paddingBottom:30}}>‹</Text>
element 自訂右箭頭按鈕樣式
prevButton
<Text style={{fontSize:60, color:‘#00a7ec‘, paddingTop:30, paddingBottom:30}}>›</Text>
element 自訂左箭頭按鈕樣式

ReactNative學習-滑動查看圖片第三方組件react-native-swiper

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.