Итак, у меня есть этот 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-приложении?
, который не работал для меня.