Flutter lottie开机启动动画

一款app在启动预加载数据时,少不了采用开机启动动画方案。今天介绍lottie制作开机启动动画。

Lottie官网地址:https://lottiefiles.com/

项目源码:

Flutter手机端 lottie实现开机启动动画源码-前端元素由前端元素eleui.cn整理,由lottie实现flutter手机端开机启动动画,包含源代码https://www.eleui.cn/detail/72818ea6fb909253.html

 第一步:在pubspec.yaml中用lottie

lottie: ^1.3.0

 第二步:在主目录下创建assets文件夹并将水滴json放入文件夹中,并在pubspec.yaml中引用

flutter:

  assets:
    - assets/water-drop.json

第三步:代码结构

 

(1)先创建一个启动页面,然后在main中先引用这个启动界面

(2)在启动页面中引用lottie包

import 'package:flutter/material.dart';
import 'package:lottie/lottie.dart';

import 'index_page.dart';

class SplashScreen extends StatefulWidget {
  const SplashScreen({Key? key}) : super(key: key);

  @override
  _SplashScreenState createState() => _SplashScreenState();
}

class _SplashScreenState extends State<SplashScreen>
    with TickerProviderStateMixin {
  AnimationController? _controller;

  @override
  void initState() {
    super.initState();
    _controller = AnimationController(
      duration: const Duration(seconds: (5)),
      vsync: this,
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Lottie.asset(
        'assets/water-drop.json',
        controller: _controller,
        height: MediaQuery.of(context).size.height * 1,
        animate: true,
        onLoaded: (composition) {
          _controller
            ?..duration = composition.duration
            ..forward().whenComplete(() => Navigator.pushReplacement(
              context,
              MaterialPageRoute(builder: (context) => const IndexPage()),
            ));
        },
      ),
    );
  }
}

Lottie.assets 加载动画,onLoaded回调动画加载完成后的处理,这里动画加载完,直接进入首页面。

源码上方有链接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值