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


Posted in Javascript onAugust 25, 2020

本文基于React Native 0.52

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

一、总览

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

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

二、实现轮播图效果

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完整代码 地址

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

Javascript 相关文章推荐
javascript 动态修改样式和层叠样式表代码
Apr 27 Javascript
用JS实现一个TreeMenu效果分享
Aug 28 Javascript
js相册效果代码(点击创建即可)
Apr 16 Javascript
使用js判断控件是否获得焦点
Jan 03 Javascript
js实现向右横向滑出的二级菜单效果
Aug 27 Javascript
jQuery事件对象总结
Oct 17 Javascript
原生ajax处理json格式数据的实例代码
Dec 25 Javascript
BootStrap Tooltip插件源码解析
Dec 27 Javascript
基于vue实现swipe分页组件实例
May 25 Javascript
javascript匿名函数中的'return function()'作用
Oct 15 Javascript
JQuery常用简单动画操作方法回顾与总结
Dec 07 jQuery
简单聊聊TypeScript只读修饰符
Apr 06 Javascript
详解webpack打包后如何调试的方法步骤
Nov 07 #Javascript
微信小程序列表中item左滑删除功能
Nov 07 #Javascript
Angular 实现输入框中显示文章标签的实例代码
Nov 07 #Javascript
VueCli3构建TS项目的方法步骤
Nov 07 #Javascript
vue调试工具vue-devtools安装及使用方法
Nov 07 #Javascript
vue+webpack中配置ESLint
Nov 07 #Javascript
利用jqgrid实现上移下移单元格功能
Nov 07 #Javascript
You might like
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
jQuery插件实现屏蔽单个元素使用户无法点击
2013/04/12 Javascript
JS循环遍历JSON数据的方法
2014/07/08 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
AngularJS模块学习之Anchor Scroll
2016/01/19 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
详解axios在vue中的简单配置与使用
2017/05/10 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
vue展示dicom文件医疗系统的实现代码
2018/08/27 Javascript
vue-cli V3.0版本的使用详解
2018/10/24 Javascript
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
vue 集成jTopo 处理方法
2019/08/07 Javascript
vue的三种图片引入方式代码实例
2019/11/19 Javascript
vue中对象数组去重的实现
2020/02/06 Javascript
ES6中的类(Class)示例详解
2020/12/09 Javascript
使用Protocol Buffers的C语言拓展提速Python程序的示例
2015/04/16 Python
Django跨域请求问题的解决方法示例
2018/06/16 Python
python如何实现一个刷网页小程序
2018/11/27 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
Appium+python自动化怎么查看程序所占端口号和IP
2019/06/14 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
2020/02/17 Python
Python getsizeof()和getsize()区分详解
2020/11/20 Python
python 爬取腾讯视频评论的实现步骤
2021/02/18 Python
介绍一下linux文件系统分配策略
2013/02/25 面试题
七一党建活动方案
2014/01/28 职场文书
领导党性分析材料
2014/02/15 职场文书
优秀教师申报材料
2014/12/16 职场文书
消防演习通知
2015/04/25 职场文书
血轮眼轮回眼特效 html+css
2021/03/31 HTML / CSS
Vue接口封装的完整步骤记录
2021/05/14 Vue.js
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS
Redis性能监控的实现
2021/07/09 Redis
python实现会员信息管理系统(List)
2022/03/18 Python