React Native -- 引导页面

作者: YxxxHao | 来源:发表于2016-12-26 23:47 被阅读4904次
A4B0671F-799C-43C8-AF87-15AB69038A12.png

最近工作忙,搞得RN学学停停的,今天回来看了下别人开源的应用,看得一脸懵逼的,好吧,还是从最简单的入手。

这里通过ScrollView来实现一个引导页面的功能,init工程这些就不说了,直接看rn官网就可以了,首先为了方便获取屏幕的大小,我们来实现一个公共的类:

import React from 'react';
import Dimensions from 'Dimensions';

const Util = {
  size: {
    width: Dimensions.get('window').width,
    height: Dimensions.get('window').height
  },
};

export default Util;

然后我们再创建一个引导页面 guideView.js,目录如下:

6CD645BB-FD8A-4BD4-B815-0A2E42F08B68.png

guide目录下存入资源文件,view目录下存放页面文件。

guideView 内容:

'use strict';
import React, {Component} from 'react';
import {
  Image,
  ScrollView,
  StyleSheet,
  Text,
} from 'react-native';

let image1 = require('../guide/guide_1.png');
let image2 = require('../guide/guide_2.png');
let image3 = require('../guide/guide_3.png');
import Util from './utils';

export default class extends Component {
  constructor() {
      super();
    };
  render() {
    return (
      <ScrollView
        contentContainerStyle={styles.contentContainer}
        bounces={false}
        pagingEnabled={true}
        horizontal={true}>
        <Image source={image1} style={styles.backgroundImage} />
        <Image source={image2} style={styles.backgroundImage} />
        <Image source={image3} style={styles.backgroundImage} />
      </ScrollView>
    );
  }
};

var styles = StyleSheet.create({
    contentContainer: {
      width: Util.size.width*3,
      height: Util.size.height,
    },
    backgroundImage: {
      width: Util.size.width,
      height: Util.size.height,
    },
});

这里需要注意下的就是contentView的内容的宽度应该对应你引导页面的宽度,比如这里有三张图,那应该就是屏幕宽度的三倍。

bounces 属性指的是第一张或最后一张是否有弹簧效果。

pagingEnabled 就是分页效果了。

最后在index.ios.js里面调用:

'use strict';
import React, { Component } from 'react';
import {
  AppRegistry
} from 'react-native';

import Guide from './view/guideView';

export default class GuideView extends Component {
  render() {
    return (
      <Guide />
    );
  }
}

AppRegistry.registerComponent('GuideView', () => GuideView);

最终效果:

123.gif

新手入门RN的同学们,千万不想相信 react native 中文网推荐的风耀的视频,买了vip入去,发现视频不更新,先不说视频质量怎么样,感觉照搬某课网的,这都可以忍,但天天推广点公益,也敢叫公益的公益。被骗得不要不要。

相关文章

网友评论

  • 702d697f68c3:两个问题 求指教:SectionList 使用pagingEnabled 后
    1:控制手势滑动距离的参数,感觉 默认滑动到下一页,手势要滑动很长一段距离才能到下一页。想把手势滑动改短一点,让手势稍微左右扒拉一下,就产生反应到下一页或上一页
    2:分页的 item 被挤压了,默认应该 一个item一页,现在是显示部分上一页的界面和部分本页面的界面,
  • 流年_时光:实用,给你点赞:+1:
  • 9cc99193d3fc:有没有比较好的方法判断用户第一次登陆然后直接进入引导页面,用的react-native-storage,异步的太慢了
  • zheng小叶:赞一个!
  • 冷洪林:欢迎加入React Native交流群,群号:647393547
  • 因幡白兔:举报举报
  • 珍珍Jenny_fe79:最后一段是亮点,就凭这个关注了你
  • zhujianlong:这种人应该举报
  • harvey_hui:正需要
  • woitaylor:支持你!前面还好好的,突然就GG了。
    栀夏暖阳:@YxxxHao 东方耀的视频,呵呵,之前是照搬携程出的一本书的视频,然后我看了下,天天推广一个App,一点公益,说真的这种人真的,对这个人真的很无语,东方耀既然那么喜欢公益就去做公益,干嘛打着做技术的幌子做公益,无语
    YxxxHao:@woitaylor 我们查过他的底了,以前玩m3骗局,现在玩一点公益的骗局,一个老骗子,他的底已经查了很多,后面给大家直播他这些年做过那些没阴德的事情
  • 苦海行舟:最后亮了,深有同感,哈哈
    YxxxHao:@苦海行舟 希望你也能告诉更多人

本文标题:React Native -- 引导页面

本文链接:https://www.haomeiwen.com/subject/tydsvttx.html