基于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 相关文章推荐
js Flash插入函数免激活代码
Mar 31 Javascript
php与js的区别是什么
Aug 05 Javascript
js创建一个input数组并绑定click事件的方法
Jun 12 Javascript
js鼠标滑过图片震动特效的方法
Feb 17 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
Apr 22 Javascript
动态加载jQuery的方法
Jun 16 Javascript
AngularJs实现分页功能不带省略号的代码
May 30 Javascript
jQuery EasyUI Tab 选项卡问题小结
Aug 16 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
Sep 05 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
Jan 13 Javascript
解决使用vue.js路由后失效的问题
Mar 17 Javascript
在vue中使用G2图表的示例代码
Mar 19 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
PHP提交表单失败后如何保留已经填写的信息
2014/06/20 PHP
php文件管理基本功能简单操作
2017/01/16 PHP
PHP学习记录之常用的魔术常量详解
2019/12/12 PHP
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
javascript parseInt与Number函数的区别
2010/01/21 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
js控制的遮罩层实例介绍
2013/05/29 Javascript
JS如何将UTC格式时间转本地格式
2013/09/04 Javascript
js利用数组length属性清空和截短数组的小例子
2014/01/15 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
2014/06/06 Javascript
node.js中的url.format方法使用说明
2014/12/10 Javascript
jQuery+PHP打造滑动开关效果
2014/12/16 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
2016/07/01 Javascript
js仿网易表单及时验证功能
2017/03/07 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
JavaScript分步实现一个出生日期的正则表达式
2018/03/22 Javascript
Vue仿百度搜索功能
2020/12/28 Vue.js
Vue中强制组件重新渲染的正确方法
2021/01/03 Vue.js
Python正则表达式完全指南
2017/05/25 Python
Python实现批量读取图片并存入mongodb数据库的方法示例
2018/04/02 Python
python对csv文件追加写入列的方法
2019/08/01 Python
利用python实现冒泡排序算法实例代码
2019/12/01 Python
django和flask哪个值得研究学习
2020/07/31 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
大学生自我评价范文分享
2014/02/21 职场文书
广告设计应届生求职信
2014/03/01 职场文书
有创意的广告词
2014/03/18 职场文书
投资合作协议书
2014/04/17 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
2015年高中班主任工作总结
2015/04/30 职场文书
六年级作文之自救
2019/12/19 职场文书
Redis如何一键部署脚本
2021/04/12 Redis
Python访问Redis的详细操作
2021/06/26 Python
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS