基于React Native 0.52实现轮播图效果

本文基于React Native 0.52

Demo上传到Git了,有需要可以看看,写了新内容会上传的(Git地址

一、总览

轮播图几乎是必备的效果,这里选择 react-native-swiper 来实现,效果如下图:

二、实现轮播图效果

1、通过npm安装react-native-swiper

npm install react-native-swiper --save

2、在recommend.js引入react-native-swiper

import Swiper from 'react-native-swiper';

3、用 react-native-swiper 可以很容易的实现轮播的效果

  • showButtons —— 是否显示左右翻页按钮
  • autoPlay —— 是否自动播放
  • paginationStyle —— 包含小点点的容器的样式,这里用来调整位置
  • dotStyle —— 小点点的样式
  • activeDotStyle —— 当前被激活的小点点的样式
<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>

样式:

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的首页,同样有不显示的问题,解决办法和上一篇的办法几乎一样,可以看一下上一篇或是完整代码,这里就不再赘述。

这里和上一篇相比有两处不一样,需要说一下。

1、真正调用接口加载图片的时候,不会出现一开始图片不显示的问题。

2、在状态为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完整代码 地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • react native 文字轮播的实现示例

    本着我为人人,人人为我的精神,敲过的代码就要分享出来! 项目需要做一个文字的轮播,开始想着是由下而上的滚动,但是还是写的不是很好,就先退而求其次,通过透明度来实现文字的滚动了(也不能说是滚动了,是切换). 为了贴上来还是写了些注释的,也就不一一的解释了,很简单的代码,看注释就好了.(我就是懒) import React, { Component } from "react" import { View, Text, TouchableOpacity } from "react

  • React Native 通告消息竖向轮播组件的封装

    本文实例为大家分享了React Native通告消息竖向轮播组件的封装代码,供大家参考,具体内容如下 import React, {Component} from 'react' import { Text, View, Animated, Easing, StyleSheet, } from 'react-native' export default class ScrollVertical extends Component { static defaultProps = { enableA

  • 基于React Native 0.52实现轮播图效果

    本文基于React Native 0.52 Demo上传到Git了,有需要可以看看,写了新内容会上传的(Git地址) 一.总览 轮播图几乎是必备的效果,这里选择 react-native-swiper 来实现,效果如下图: 二.实现轮播图效果 1.通过npm安装react-native-swiper npm install react-native-swiper --save 2.在recommend.js引入react-native-swiper import Swiper from 'rea

  • React Native中ScrollView组件轮播图与ListView渲染列表组件用法实例分析

    本文实例讲述了React Native中ScrollView组件轮播图与ListView渲染列表组件用法.分享给大家供大家参考,具体如下: 1.Scroll View ScrollView是React Native提供的滚动视图组件,渲染一组视图,用户可以进行滑动响应交互,其常用属性如下: 滚动的偏移量:通过event.nativeEvent.contentOffset.x可以得到水平偏移量. horizontal={bool},属性为true时,所有子视图在水平方向排列,否则在纵向排列.默认为

  • Vue3.0手写轮播图效果

    本文实例为大家分享了Vue3.0手写轮播图效果的具体代码,供大家参考,具体内容如下 让我们开始把 html结构 <template> <div class="xtx-carousel" @mouseleave="enterFn" @mouseenter="leaveFn"> <ul class="carousel-body"> <li class="carousel-item

  • 基于JS实现仿百度百家主页的轮播图效果

    HTML <div class="ShowEntry"> <!-- <div id="widget_content_player" class="Player" alog-group="log-player">--> <!--------- 右击箭头---------> <a href="javascript:void(0);" rel="ex

  • React实现轮播图效果

    本文实例为大家分享了React实现轮播图效果的具体代码,供大家参考,具体内容如下 效果: 轮播功能用到了react-slick组件,安装: npm install react-slick --save npm install slick-carousel 安装完后需要在使用轮播图的页面上导入css文件: import Slider from 'react-slick'; import 'slick-carousel/slick/slick.css'; import 'slick-carousel

  • Bootstrap实现基于carousel.js框架的轮播图效果

    本文实例为大家分享了Bootstrap轮播图效果展示的具体代码,供大家参考,具体内容如下 声明式触发需要使用到的几个data-*属性 1.data-ride:作用在最外层容器上,固定值:carousel 2.data-target:作用在class=carousel-indicators的每个子元素li上面,标注对那个元素进行点击轮播 3.data-slide:作用在前翻页和后翻页的两个a链接上,prev表示前翻页,next表示后翻页 4.data-slide-to:作用在class=carou

  • 微信小程序实现的3d轮播图效果示例【基于swiper组件】

    本文实例讲述了微信小程序实现的3d轮播图效果.分享给大家供大家参考,具体如下: 前面写过一篇3d轮播,就是这篇,使用的方法比较笨拙,而且代码不简洁.这次发现swiper也能实现同样的效果.故记录一下. 先看看效果: wxml: <swiper previous-margin='50px' next-margin='50px' bindchange="swiperChange" style='height:{{swiperH}};'> <swiper-item wx:f

  • 基于javascript实现移动端轮播图效果

    本文实例为大家分享了js实现移动端轮播图效果的具体代码,供大家参考,具体内容如下 插件使用: 1.zepto.js 2.touch.js 实现效果 html部分: <!-- 结构 --> <!-- li*6>a[href=#]>img[src=./images/$.jpg] --> <div class="box"> <ul> <!-- 为了无缝连接,我们在图片这里前后增加了2个图片 --> <li>

  • 基于JavaScript实现轮播图效果

    本文实例为大家分享了JavaScript实现轮播图效果的具体代码,供大家参考,具体内容如下 学习笔记(学校的课设),实现了左右切换,按指示点切换.按小图标切换和自动切换,但是还有某些功能没完善,如:切换到某张图片后,左右并没有切换到前后相应的图片. 先看实现效果: 代码仅供参考: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title>

随机推荐