Как анимировать загрузочный GIF на стороне Android? - PullRequest
0 голосов
/ 30 сентября 2019

Итак, у меня есть этот gif в моем проекте React Native:

import React from "react";
import { View, StyleSheet, Image } from "react-native";
import PropTypes from "prop-types";

const Loading = () => (
  <View style={styles.container}>
    <Image source={require("./Loading.gif")} style={styles.containerLoader} />
  </View>
);

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: "center",
    alignItems: "center",
    color: "#00AD50"
  },
  containerLoader: {
    width: 150,
    height: 150
  }
});

export { Loading };

Это три пульсирующие точки, которые прекрасно работают на iOS, но ничего не делают на Android. Я видел пару соответствующих постов:

Так что этот, очевидно, слишком стар: Анимированный GIF в Android

Но этот здесь говорит о необходимости сломать изображениевниз в кадры: Как анимировать .gif изображения на андроиде?

Применимо ли это к сегодняшнему дню? Если да, есть ли документация о том, как это сделать?

Если нет, то как я могу оживить вышеуказанный файл .gif?

Я попытался реализовать то, что коллега предложил через эту документацию: https://facebook.github.io/react-native/docs/image#gif-and-webp-support-on-android

Так что в моемandroid/app/build.gradle:

   dependencies {
       implementation 'com.facebook.fresco:animated-gif:1.12.0'
       implementation project(':react-native-device-info')
       implementation project(':react-native-onesignal')
       implementation project(':react-native-immediate-phone-call')
       implementation fileTree(dir: "libs", include: ["*.jar"])
       implementation "com.facebook.react:react-native:+"  // From 
  node_modules

   if (enableHermes) {
     def hermesPath = "../../node_modules/hermesvm/android/";
     debugImplementation files(hermesPath + "hermes-debug.aar")
     releaseImplementation files(hermesPath + "hermes-release.aar")
   } else {
     implementation jscFlavor
   }
}

, но вышесказанное никак не оживило gif. Таким образом, в то время как это упоминается здесь как решение: Как отобразить GIF в приложении-реактивном Android-приложении?

, который не работал для меня.

1 Ответ

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

Также отметьте в этом посте , если вы используете реактивный нативный 0.60 +.

Короче, важно сослаться на правильную версию фрески:

// For animated GIF support
implementation 'com.facebook.fresco:fresco:2.0.0'
implementation 'com.facebook.fresco:animated-gif:2.0.0'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...