首页 > 解决方案 > 如何预缓存颤振耀斑动画

问题描述

我有一个耀斑加载动画,需要时间来加载。有没有办法预先缓存颤动动画?

final AssetProvider assetProvider = AssetFlare(bundle: rootBundle, name: 'assets/animations/loop.flr');
cachedActor(assetProvider);

这是缓存演员的代码吗?那么如何加载缓存的动画呢?

标签: flutterflutter-animation

解决方案


来自https://github.com/2d-inc/Flare-Flutter/issues/180#issuecomment-550584347
您可以使用它FlareCacheBuilder来帮助您为应用程序的某些部分预加载 flr 文件

代码片段

Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.grey,
      appBar: AppBar(title: Text(widget.title)),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          mainAxisSize: MainAxisSize.min,
          children: [
            Expanded(
              child: FlareCacheBuilder(
                ["assets/Filip.flr"],
                builder: (BuildContext context, bool isWarm) {
                  return !isWarm
                      ? Container(child: Text("Loading..."))
                      : FlareActor(
                          "assets/Filip.flr",
                          alignment: Alignment.center,
                          fit: BoxFit.contain,
                          animation: _animationName,
                        );
                },
              ),
            )
          ],
        ),
      ),
    );
  }

推荐阅读