React-Native横向浏览相册(带大图浏览)

本文介绍了如何使用React-Native构建一个带有大图浏览功能的横向滑动相册,通过结合横向ListView和ViewPager实现,同时展示了如何在页面中显示当前页码。
摘要由CSDN通过智能技术生成

1.废话少说,先上效果。






2.效果实现思路

横向的listView+viewPager(android很好实现,react-native也差不多)


3.贴源码


用法:

大图浏览的控件代码:

import React, {
 Component} from 'react';
import {
   BackAndroid,
   View,
   Platform,
} from 'react-native';
var data =[];
var currentPosition =0;

import ImageViewer from 'react-native-image-zoom-viewer';

var images = [];

export default class GalleryView extends Component {

   constructor(props) {
      super(props);
      images =[];
      data =this.props.data;

      currentPosition=this.props.p

      var count = data.length;
      if(count>9){
         count = 9;
      }
    for(var i=0 ;i<count;i++){
         var imageInfo = data[i];
      var urlobject=new Object;
      urlobject.url = imageInfo['path'];
    if( imageInfo['width'] !=null &&  imageInfo['width'] != '' ){
           urlobject.width = imageInfo['width'];
      }
    if( imageInfo['height'] !=null &&  imageInfo['height'] != '' ){
            urlobject.height = imageInfo['height'];
      }
      images.push(urlobject);
    }
      this.state={
        dataSourse:images
      }
    }
    componentDidMount(){
      if (Platform.OS === 'android') {
         BackAndroid.addEventListener('hardwareBackPress', this.onBackAndroid);
      }
    }

   componentWillUnmount() {
      if (Platform.OS === 'android') {
         BackAndroid.removeEventListener('hardwareBackPress', this.onBackAndroid);
      }
   }

    onBackAndroid = () => {
       this.props.navigator.pop();
       return true;
    }

    render() {
       return (
            <ImageViewer imageUrls={
 this.state.dataSourse} index={currentPosition}  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值