| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- /**
- * 开屏页面
- * @邠心vbe on 2021/03/22
- */
- import React from 'react'
- import { Animated, Easing, Image, StyleSheet, View } from 'react-native'
- import {InitSomething} from '../components/Dialog';
- import MyStatusBar from '../components/MyStatusBar';
- import { PageList } from './Router';
- class Launch extends React.Component {
-
- constructor(props) {
- super(props);
- this.state = {
- isShow: true,
- opacity: new Animated.Value(0)
- };
- }
- componentDidMount() {
- this.init();
- //MyStatusBar.setStatusBarThemes(MyStatusBar.DARK_STYLE, colorLight);
- InitSomething();
- if (isIOS) {
- this.goHome(100);
- } else {
- this.goHome(2500);
- }
- }
- init() {
- Animated.timing(this.state.opacity, {
- toValue: 1,
- duration: 1500,
- easing: Easing.linear,
- useNativeDriver: true
- }).start(() => {
-
- });
- }
- goHome(time) {
- setTimeout(() => {
- this.setState({
- isShow: false
- });
- startPage(PageList.home);
- }, time);
- }
-
- render() {
- return (
- this.state.isShow
- ? isIOS
- ? <View style={styles.iosContent}></View>
- : <View style={styles.container}>
- <Animated.View style={[styles.content, {opacity: this.state.opacity}]}>
- <Image
- style={styles.logo}
- resizeMode='contain'
- source={require('../images/app-logo.png')}/>
- {/* <Text style={styles.slogan}>Feel The Green Energy</Text> */}
- </Animated.View>
- </View>
- : <View style={styles.loaded}></View>
- );
- }
- }
- export default Launch
- const styles = StyleSheet.create({
- container: {
- alignItems: 'center',
- backgroundColor: colorLight,
- ...StyleSheet.absoluteFillObject
- },
- iosContent: {
- flex: 1,
- backgroundColor: colorLight
- },
- loaded: {
- flex: 1,
- backgroundColor: '#eee'
- },
- content: {
- alignItems: 'center',
- paddingTop: $vh(30)
- },
- logo: {
- width: 240,
- height: 120,
- marginLeft: 0,
- //top: $vh(25),
- //bottom: $vh(25),
- //position: 'absolute'
- },
- slogan: {
- color: textPrimary,
- fontSize: 14,
- fontStyle: 'italic',
- fontWeight: 'bold'
- }
- });
|