Flutter启动画面插件splash_master的使用

发布于 1周前 作者 yuanlaile 来自 Flutter

Flutter启动画面插件splash_master的使用

Banner

Banner

简介

Splash Master 是一个Flutter插件,旨在简化为应用程序添加启动画面(splash screens)的过程。该插件负责所有必要的原生端设置,从而节省时间和精力。它支持视频、Lottie动画、图片和自定义Flutter小部件,为用户提供多种创意选择。通过在 pubspec.yaml 中添加 splash_master 部分来定义所需细节即可。此外,该插件确保从原生到Flutter应用的平滑过渡,提升用户体验。

预览

Android iOS
Android Preview iOS Preview

安装

pubspec.yaml 文件中添加 splash_master 作为依赖项:

dependencies:
  splash_master: <Latest Version>

请从 pub.dev 获取最新版本号。

使用说明

1. 设置启动画面

pubspec.yaml 文件中添加 splash_master 配置段落:

splash_master:
  color: '#FFFFFF' # 启动画面的颜色
  image: 'assets/splash.png' # 启动画面的图片路径
  ios_content_mode: 'center' # iOS平台图片显示模式
  android_gravity: 'center' # Android平台图片重力方向
  background_image: 'assets/background_image.png' # 背景图片路径
  ios_background_content_mode: 'scaleToFill' # iOS平台背景图片显示模式
  android_background_image_gravity: 'fill' # Android平台背景图片重力方向
  image_dark_android: 'assets/splash_dark.png' # Android暗黑模式下的图片路径
  android_dark_gravity_key: 'center' # Android暗黑模式下图片重力方向
  color_dark_android: '#000000' # Android暗黑模式下的颜色
  android_12_and_above:
    color: '#FFFFFF' # Android 12及以上版本启动画面颜色
    image: 'assets/splash_12.png' # Android 12及以上版本启动画面图片路径
    branding_image: 'assets/branding_image.png' # 品牌标识图片路径

2. 创建并设置启动画面

运行以下命令以创建并在原生侧设置启动画面:

dart run splash_master create

或者激活 splash_master 全局命令后直接使用:

dart pub global activate splash_master
splash_master create

3. 在Flutter端设置

根据需要选择不同的组件类型(视频、Lottie动画或图片),并在 main.dart 文件中进行如下配置:

视频示例代码

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  SplashMaster.initialize();
  runApp(
    MaterialApp(
      home: SplashMaster.video(
        source: AssetSource('assets/splash_video.mp4'), // 替换为你的视频资源路径
        videoConfig: VideoConfig(
          videoVisibilityEnum: VisibilityEnum.useAspectRatio, // 可选配置项
        ),
        backGroundColor: Colors.white,
        nextScreen: Home(), // 替换为你自己的主页面
      ),
    ),
  );
}

Lottie动画示例代码

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  SplashMaster.initialize();
  runApp(
    MaterialApp(
      home: SplashMaster.lottie(
        source: AssetSource('assets/splash_lottie.json'), // 替换为你的Lottie动画资源路径
        lottieConfig: LottieConfig(),
        backGroundColor: Colors.white,
        nextScreen: Home(), // 替换为你自己的主页面
      ),
    ),
  );
}

图片示例代码

对于图片类型的启动画面,需要显式调用 SplashMaster.resume() 方法来恢复Flutter应用:

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  SplashMaster.initialize();
  SplashMaster.resume(); // 显式恢复Flutter应用
  runApp(
    MaterialApp(
      home: YourWidget(), // 替换为你自己的主页面
    ),
  );
}

自定义小部件示例代码

如果你想要使用自定义的小部件作为启动画面,可以按照如下方式配置:

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  SplashMaster.initialize();
  runApp(
    MaterialApp(
      home: YourCustomWidget(), // 替换为你自己的自定义小部件
    ),
  );
}

注意事项

  • initialize() 方法会阻止Flutter帧渲染直到初始化完成。要恢复Flutter帧渲染,请调用 resume() 方法。
  • 如果你使用了 SplashMaster.video()SplashMaster.lottie() 方法,则无需显式调用 resume(),因为这些方法会在媒体加载完成后自动恢复Flutter帧渲染。
  • onSourceLoaded 回调函数可以在提供的媒体加载完毕时触发,如果你没有提供此参数或未使用 SplashMaster 小部件,则需自行负责调用 resume() 函数。

属性说明

以下是 SplashMaster.video()SplashMaster.lottie() 的共有属性列表:

名称 描述
source 资源来源
videoConfig/lottieConfig 分别用于处理视频和Lottie动画的配置
backGroundColor 启动画面的背景色
nextScreen 启动画面结束后跳转的目标页面
customNavigation 启动画面结束后的自定义导航逻辑回调
onSourceLoaded 当提供的媒体加载完成后调用

以上就是关于 splash_master 插件的基本介绍和使用方法,希望对大家有所帮助!如果还有其他问题欢迎留言交流。


更多关于Flutter启动画面插件splash_master的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter启动画面插件splash_master的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,下面是一个关于如何在Flutter项目中使用splash_master插件来实现启动画面的示例代码。splash_master是一个流行的Flutter插件,用于创建和管理启动画面。

首先,确保你已经在pubspec.yaml文件中添加了splash_master依赖:

dependencies:
  flutter:
    sdk: flutter
  splash_master: ^最新版本号  # 请替换为实际的最新版本号

然后,运行flutter pub get来安装依赖。

接下来,你需要在你的Flutter项目中配置启动画面。以下是一个完整的示例,包括如何在main.dartassets文件夹中设置启动画面。

  1. assets文件夹中放置启动画面图片

确保你有一个名为assets的文件夹,并在其中放置你的启动画面图片,例如launch_image.png

  1. 配置pubspec.yaml以包含启动画面图片

pubspec.yaml文件中添加你的启动画面图片到flutterassets部分:

flutter:
  assets:
    - assets/launch_image.png
  1. 修改main.dart以使用splash_master

以下是一个使用splash_master插件的示例main.dart文件:

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

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: SplashScreen.create(
        seconds: 3,  // 启动画面显示的时间(秒)
        navigateAfterSeconds: HomeScreen(),  // 启动画面结束后跳转的页面
        image: Image.asset('assets/launch_image.png'),  // 启动画面图片
        backgroundColor: Colors.white,  // 启动画面背景颜色
        loaderType: LoaderType.circular,  // 加载器类型,可以是circular, threeBounce, pulsingCircle等
      ),
    );
  }
}

class HomeScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Home Screen'),
      ),
      body: Center(
        child: Text('Welcome to the Home Screen!'),
      ),
    );
  }
}

在这个示例中,我们创建了一个简单的Flutter应用程序,该应用程序在启动时显示一个启动画面。启动画面将在3秒后自动消失,并跳转到HomeScreen页面。

  • SplashScreen.create方法用于配置启动画面。
  • seconds参数指定启动画面显示的时间。
  • navigateAfterSeconds参数指定启动画面结束后要跳转的页面。
  • image参数指定启动画面显示的图片。
  • backgroundColor参数指定启动画面的背景颜色。
  • loaderType参数指定加载器的类型,这里使用的是circular类型。

请根据你的实际需求调整这些参数。希望这个示例能帮助你在Flutter项目中使用splash_master插件来实现启动画面。

回到顶部