React Native Animation (анимация) не работает на Android - PullRequest
0 голосов
/ 19 сентября 2018

Пытаюсь анимировать изображение для сжатия при вызове экранной клавиатуры (см. Код ниже).Работает на IOS, но не на Android: (

Я искал в Интернете решения, но пока ничего не работает. Есть предложения?

Заранее спасибо

constructor(props) {
  super(props);

  this.imageSize = new Animated.Value(imageSizeNormal);
}

componentWillMount() {
    this.keyboardWillShowSub = Keyboard.addListener('keyboardWillShow', this.keyboardWillShow);
    this.keyboardWillHideSub = Keyboard.addListener('keyboardWillHide', this.keyboardWillHide);
}

componentWillUnmount() {
    this.keyboardWillShowSub.remove();
    this.keyboardWillHideSub.remove();
}

keyboardWillShow = (event) => {
    Animated.timing(this.imageSize, {
        toValue: imageSizeSmall
    }).start();
};


keyboardWillHide = (event) => {
    Animated.timing(this.imageSize, {
        toValue: imageSize
    }).start();
};


render() {
    return (
      <Animated.Image 
         source={require('../../assets/circle.png')} 
         resizeMode="contain"
         style={[styles.logo, { height: this.imageSize, width: this.imageSize}]}
       />
    )
}


const imageSizeNormal = Dimensions.get("window").width/2;

const imageSizeSmall = Dimensions.get("window").width/4;

1 Ответ

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

Вот как я это решил.

Первое, что я сделал, это изменил ключевые слова "keyboardWill ..." на "keyboardDid ..." "

Во-вторых, я добавил следующее кAndroidManifest.xml

    android:fitsSystemWindows="true"
    android:windowSoftInputMode="adjustResize"

Источники:

windowSoftInputMode = "AdjustResize" не работает с полупрозрачным действием / навигационная панель

https://medium.freecodecamp.org/how-to-make-your-react-native-app-respond-gracefully-when-the-keyboard-pops-up-7442c1535580

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...