J'essaie de faire fonctionner l'animation Flare dans Flutter. Pour cela, j'ai essayé ceci: https://github.com/tarek360/Boring-Star-Animation
En fait, ce code fonctionne parfaitement bien. Mais, je voulais changer l'animation en ceci: https://www.2dimensions.com/a/innocent/files/flare/status_success
Maintenant, le code s'exécute et l'animation est affichée, mais elle l'est toujours. (c'est-à-dire, pas d'animation, seule la photo est affichée) Et j'obtiens l'erreur ci-dessous:
import 'package:flutter/material.dart'; import "package:flare_flutter/flare_actor.dart"; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'The Boring Star', theme: ThemeData( primarySwatch: Colors.blue, ), home: MyHomePage(), ); } } class MyHomePage extends StatefulWidget { @override _MyHomePageState createState() => new _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { @override Widget build(BuildContext context) { return new FlareActor("animations/status_success.flr", alignment: Alignment.center, fit: BoxFit.contain, animation: "success_arrow"); } }
Je suis sûr que je n'ai pas mal saisi le nom du fichier et le nom de l'animation.
Voici mon fichier main.dart:
E/flutter ( 7462): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: NoSuchMethodError: The method '*' was called on null. E/flutter ( 7462): Receiver: null E/flutter ( 7462): Tried calling: *(0.0) E/flutter ( 7462): #0 Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:50:5) E/flutter ( 7462): #1 KeyFrameStrokeEnd.setValue (package:flare_dart/animation/keyframe.dart:1161:33) E/flutter ( 7462): #2 KeyFrameNumeric.apply (package:flare_dart/animation/keyframe.dart:138:5) E/flutter ( 7462): #3 PropertyAnimation.apply (package:flare_dart/animation/actor_animation.dart:199:21) E/flutter ( 7462): #4 ComponentAnimation.apply (package:flare_dart/animation/actor_animation.dart:248:27) E/flutter ( 7462): #5 ActorAnimation.apply (package:flare_dart/animation/actor_animation.dart:403:26) E/flutter ( 7462): #6 FlareActorRenderObject._updateAnimation (package:flare_flutter/flare_actor.dart:468:19) E/flutter ( 7462): #7 FlareActorRenderObject.filename=.<anonymous closure> (package:flare_flutter/flare_actor.dart:245:11) E/flutter ( 7462): #8 _rootRunUnary (dart:async/zone.dart:1132:38) E/flutter ( 7462): #9 _CustomZone.runUnary (dart:async/zone.dart:1029:19) E/flutter ( 7462): #10 _FutureListener.handleValue (dart:async/future_impl.dart:126:18) E/flutter ( 7462): #11 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45) E/flutter ( 7462): #12 Future._propagateToListeners (dart:async/future_impl.dart:668:32) E/flutter ( 7462): #13 Future._complete (dart:async/future_impl.dart:473:7) E/flutter ( 7462): #14 _SyncCompleter.complete (dart:async/future_impl.dart:51:12) E/flutter ( 7462): #15 _AsyncAwaitCompleter.complete.<anonymous closure> (dart:async/runtime/libasync_patch.dart:33:20) E/flutter ( 7462): #16 _rootRun (dart:async/zone.dart:1120:38) E/flutter ( 7462): #17 _CustomZone.run (dart:async/zone.dart:1021:19) E/flutter ( 7462): #18 _CustomZone.runGuarded (dart:async/zone.dart:923:7) E/flutter ( 7462): #19 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23) E/flutter ( 7462): #20 _rootRun (dart:async/zone.dart:1124:13) E/flutter ( 7462): #21 _CustomZone.run (dart:async/zone.dart:1021:19) E/flutter ( 7462): #22 _CustomZone.runGuarded (dart:async/zone.dart:923:7) E/flutter ( 7462): #23 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23) E/flutter ( 7462): #24 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) E/flutter ( 7462): #25 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) E/flutter ( 7462):
----- EDIT ------- Je ne sais pas pourquoi, mais l'animation ci-dessous fonctionne très bien https://www.2dimensions.com/a/pollux/files/flare/smiley-switch
Donc, il conclut qu'il y a un problème avec mon animation: https://www.2dimensions.com/a/innocent/files/flare/status_success
Est-ce que quelqu'un peut m'aider avec ça?
3 Réponses :
Le nom de l'animation n'est pas success_arrow mais simplement success
FlareActor("animations/status_success.flr", alignment: Alignment.center, fit: BoxFit.contain, animation: "success");
Remplacez le nom de l'animation par le même nom que celui de l'animation dans votre projet Web.
Si le nom de l'animation n'est pas changé, alors animation:
sera "Untitled"
Avez-vous la version la plus récente de flare_flutter maintenant ^ 1.3.0 J'ai eu un problème avec ça
Oui, j'utilise la dernière version de flare_flutter 1.3.0, qu'avez-vous fait pour résoudre?
J'avais une NoSuchMethodError et je pouvais le réparer en mettant à jour la version, mais si vous l'avez déjà, c'est probablement un problème différent
@FoxyError --- 2dimensions.com/a/pollux/files/flare/smiley-switch --- fonctionne. Donc, il y a un problème avec mon animation uniquement .. :(
L'avez-vous exporté de la même manière
Oui de la même manière, en utilisant les formats binaire et json et environ 15 à 20 fois ...