Flutter启动画面插件splash_master的使用
Flutter启动画面插件splash_master的使用
Banner
简介
Splash Master
是一个Flutter插件,旨在简化为应用程序添加启动画面(splash screens)的过程。该插件负责所有必要的原生端设置,从而节省时间和精力。它支持视频、Lottie动画、图片和自定义Flutter小部件,为用户提供多种创意选择。通过在 pubspec.yaml
中添加 splash_master
部分来定义所需细节即可。此外,该插件确保从原生到Flutter应用的平滑过渡,提升用户体验。
预览
Android | iOS |
---|---|
安装
在 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
更多关于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.dart
和assets
文件夹中设置启动画面。
- 在
assets
文件夹中放置启动画面图片
确保你有一个名为assets
的文件夹,并在其中放置你的启动画面图片,例如launch_image.png
。
- 配置
pubspec.yaml
以包含启动画面图片
在pubspec.yaml
文件中添加你的启动画面图片到flutter
的assets
部分:
flutter:
assets:
- assets/launch_image.png
- 修改
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
插件来实现启动画面。