在可绘制文件夹中 我添加了gif图片文件(splashscreen.gif)
true
我这样添加。
但仅显示gif的第一张图片。如何使用动画启动画面或gif图片?
我看到了如何制作启动画面,但几乎他们制作了其他类(例如MyApp)并使用<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/splashscreen" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap android:gravity="center" android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
,但对我来说,我需要在运行应用程序之前先进行http调用和位置要求。因此我需要先运行lpp屏幕,然后再运行应用。
答案 0 :(得分:1)
您不能添加动画启动画面,启动画面必须是静态图像。您可以将.gif的第一个图像添加为初始屏幕,然后导航到与初始屏幕图像具有相同初始视图的另一页,向网络服务请求所需的内容,等待响应,然后从中进行动画处理在那里。
从本质上讲,这就是iOS Twitter应用程序启动时的功能。这是它的动画“启动屏幕”。
答案 1 :(得分:0)
我只使用一种颜色作为iOS和Android的本机启动屏幕,并使用Flutter制作了动画启动屏幕。实际上,我使用Flare进行了Splash Animation(并将Flare运行时置于混乱状态),并简单地使用了以下代码:
import 'package:flutter/material.dart';
import 'package:flare_flutter/flare_actor.dart';
class SplashScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: const Color.fromRGBO(250, 224, 61, 1.0),
body: Center(
child: Container(
child: FlareActor(
"assets/flare/splash.flr",
callback: (nameOfAnimation) =>
Navigator.pushReplacementNamed(context, "/login"),
fit: BoxFit.none,
animation: "splash",
)),
));
}
}
这里重要的是要具有与该代码相同的本机启动色,即: const Color.fromRGBO(250,224,61,1.0),
动画制作完成后,将调用回调,该回调将路由到登录屏幕。