Почему мой реанимированный (React Native) код не работает на Android? - PullRequest
0 голосов
/ 19 сентября 2019

Вот мой код, написанный на React Native с использованием Reanimated и response-native-жест-обработчик

 import React, { Component } from 'react';


   import {
        View,
        Text,
        StyleSheet,
        Image,
        Dimensions
    } from 'react-native';

    import Animated from 'react-native-reanimated';
    import {TapGestureHandler, State} from 'react-native-gesture-handler';

    const { width, height } = Dimensions.get('window');
    const {Value, event, block, cond, eq, set} = Animated;

    export default class VideoProject extends Component {
        constructor(){
        super()

        this.buttonOpacity = new Value(1);

        this.onStateChange = event([
            {
                nativeEvent: (state) => 
                block([cond(eq(state, State.END), set(this.buttonOpacity, 0)
                )])
            }
        ]);
        }

        render(){
            return(
            <View style={styles.wrapper}>
                <View style={styles.background}>
                <Image source={require('../../assets/bg.png')} 
                       style={styles.image}/>
                </View>



                <View style={styles.inputArea}>

                <TapGestureHandler onHandlerStateChange={this.onStateChange}>
                <Animated.View style={{...styles.button,opacity:this.buttonOpacity}}> 
                    <Text style={{fontSize: 20, fontWeight: 'bold'}}>SIGN IN</Text> 
                </Animated.View> 
                </TapGestureHandler>

                <TapGestureHandler>
                <View style={{...styles.button, backgroundColor: '#2E71DC'}}> 
                    <Text style={{fontSize: 20, fontWeight: 'bold', color: 'white'}}>SIGN IN WITH FACEBOOK</Text> 
                </View> 
                </TapGestureHandler>

                </View>
            </View>
            )   
        }
    }

    const styles = StyleSheet.create({
        wrapper: {
            flex: 1, 
            backgroundColor: 'white',
            justifyContent: 'flex-end'
        },
        background: {
            ...StyleSheet.absoluteFill,
        },
        image: {
            flex: 1,
            height: null,
            width: null,
        },
        inputArea: {
            height: height / 3,
            justifyContent: 'flex-end',
            marginVertical: 20,
            /*
            backgroundColor: '#64D0FE'
            */
        },
        button: {
            backgroundColor: 'white',
            height: 70,
            marginHorizontal: 20,
            marginVertical: 5,
            borderRadius: 35,
            alignItems: 'center',
            justifyContent: 'center',

        }
    });

Новичок в React Native, и я еще не использовал библиотеку Reanimated всякий раз, когда я нажимал на знакВ кнопке он должен исчезнуть мгновенно, и больше ничего.Это только для IOS или я просто тупой?заранее спасибо

1 Ответ

0 голосов
/ 19 сентября 2019

На андроиде есть ошибка, из-за которой непрозрачность 0 не работает.Установите его на 0,01, и вы получите тот же эффект.

...