1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:rive/rive.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget { @override Widget build(BuildContext context){ return MaterialApp( title:'Rive Flutter Deme', home: Scaffold( body: MyRiveAnimation() ), ); } }
class MyRiveAnimation extends StatefulWidget { @override _MyRiveAnimationState createState() => _MyRiveAnimationState(); }
class _MyRiveAnimationState extends State<MyRiveAnimation> { final riveFileName = 'assets/truck.riv'; Artboard _artboard; @override void initState() { _loadRiveFile(); super.initState(); }
void _loadRiveFile() async { final byte = await rootBundle.load(riveFileName); final file = RiveFile(); if(file.import(bytes)) { setState(()=> _artboard = file.mainArtborad ..addController( SimpleAnimation('idle'), )); } }
}
|