animated_image.dart 875 Bytes
Newer Older
1 2 3 4 5 6 7
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:flutter/material.dart';

class AnimatedImagePage extends StatelessWidget {
8
  const AnimatedImagePage({Key? key, this.onFrame}) : super(key: key);
9

10
  final ValueChanged<int>? onFrame;
11 12 13 14 15 16 17 18 19 20

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Animated Image'),
      ),
      body: Image.asset(
        'animated_images/animated_flutter_lgtm.gif',
        package: 'flutter_gallery_assets',
21
        frameBuilder: (BuildContext context, Widget child, int? frame, bool syncCall) {
22
          if (onFrame != null && frame != null) {
23
            onFrame?.call(frame);
24 25 26 27 28 29 30
          }
          return child;
        },
      ),
    );
  }
}