Flutter启动屏幕插件tbib_splash_screen的使用
Flutter启动屏幕插件tbib_splash_screen的使用
1. 插件简介
tbib_splash_screen
是一个用于创建Flutter应用启动屏幕的插件。它结合了 Animated Text Kit
插件,可以为启动屏幕中的文本添加动画效果。此外,你还可以使用 lottie
插件来显示复杂的动画。
2. 使用步骤
2.1 添加依赖
在 pubspec.yaml
文件中添加 tbib_splash_screen
依赖:
dependencies:
flutter:
sdk: flutter
tbib_splash_screen: ^最新版本号
animated_text_kit: ^最新版本号
lottie: ^最新版本号
2.2 配置资源文件
确保你在 pubspec.yaml
中配置了所需的资源文件(如图片或Lottie动画文件):
flutter:
assets:
- assets/logo_light.png
- assets/logo_light_lottie.json
2.3 创建启动屏幕
下面是一个完整的示例代码,展示了如何使用 tbib_splash_screen
插件创建一个带有动画文本和Lottie动画的启动屏幕,并在加载完成后导航到主页面。
import 'package:flutter/material.dart';
import 'package:tbib_splash_screen/splash_screen_view.dart';
import 'package:animated_text_kit/animated_text_kit.dart';
import 'package:lottie/lottie.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key}) : super(key: key);
[@override](/user/override)
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
bool isLoaded = false;
[@override](/user/override)
void initState() {
super.initState();
// 模拟加载过程,10秒后设置isLoaded为true
Future.delayed(const Duration(seconds: 10)).then((value) {
setState(() {
isLoaded = true;
});
});
}
[@override](/user/override)
Widget build(BuildContext context) {
return SplashScreenView(
navigateWhere: isLoaded, // 当isLoaded为true时,导航到目标页面
navigateRoute: const HomeScreen(), // 目标页面
backgroundColor: Colors.white, // 启动屏幕的背景颜色
linearGradient: const LinearGradient(
colors: [
Color(0xFF3366FF),
Color(0xFF00CCFF),
],
begin: FractionalOffset(0.0, 0.0),
end: FractionalOffset(1.0, 0.0),
stops: [0.0, 1.0],
tileMode: TileMode.clamp,
), // 线性渐变背景
text: WavyAnimatedText( // 动画文本
"Splash Screen",
textStyle: const TextStyle(
color: Colors.red,
fontSize: 32.0,
fontWeight: FontWeight.bold,
),
),
imageSrc: "assets/logo_light_lottie.json", // Lottie动画文件路径
// displayLoading: false, // 是否显示加载指示器,默认为true
);
}
}
class HomeScreen extends StatelessWidget {
const HomeScreen({Key? key}) : super(key: key);
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Home Screen'),
),
body: const Center(
child: Text('Welcome to the Home Screen!'),
),
);
}
}
更多关于Flutter启动屏幕插件tbib_splash_screen的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter启动屏幕插件tbib_splash_screen的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,以下是一个关于如何使用 tbib_splash_screen
插件来创建 Flutter 启动屏幕的示例代码。这个插件允许你轻松地为你的 Flutter 应用添加一个自定义的启动屏幕。
首先,你需要在你的 pubspec.yaml
文件中添加 tbib_splash_screen
依赖:
dependencies:
flutter:
sdk: flutter
tbib_splash_screen: ^x.y.z # 请替换为最新版本号
然后运行 flutter pub get
来获取依赖。
接下来,你可以按照以下步骤在你的 Flutter 应用中设置启动屏幕。
-
创建启动屏幕资源: 在你的
assets
文件夹中创建一个启动屏幕图像,例如assets/splash.png
。 -
配置
pubspec.yaml
中的资源:
flutter:
assets:
- assets/splash.png
- 配置启动屏幕:
在你的 main.dart
文件中,你需要配置 TbibSplashScreen
。以下是一个完整的示例:
import 'package:flutter/material.dart';
import 'package:tbib_splash_screen/tbib_splash_screen.dart';
import 'home_screen.dart'; // 假设你有一个主屏幕页面
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: TbibSplashScreen(
// 设置启动屏幕的背景颜色
bgColor: Colors.white,
// 设置启动屏幕的图片
imagePath: 'assets/splash.png',
// 设置启动动画的加载类型(可选)
loaderType: LoaderType.circle,
// 启动动画的颜色(可选)
loaderColor: Colors.blue,
// 动画的大小(可选)
loadingProgress: 0.0, // 如果你需要显示加载进度,可以设置为一个介于0到1之间的值
// 启动完成后跳转的页面
nextScreen: HomeScreen(),
// 启动屏幕持续时间(毫秒),默认为3000毫秒
duration: 3000,
// 启动屏幕结束后是否显示导航栏(可选)
navBar: false,
// 自定义启动屏幕结束后的页面跳转动画(可选)
routeAnimation: RouteTransitionAnimation.fadeIn,
),
);
}
}
// 主屏幕页面示例
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!'),
),
);
}
}
在这个示例中:
bgColor
设置启动屏幕的背景颜色。imagePath
设置启动屏幕显示的图片路径。loaderType
设置启动动画的类型(可选,circle
是默认类型之一)。loaderColor
设置启动动画的颜色(可选)。loadingProgress
可以用来显示加载进度(可选,这里设置为0.0表示不显示进度)。nextScreen
设置启动屏幕结束后要显示的页面。duration
设置启动屏幕的持续时间(毫秒),默认为3000毫秒。navBar
设置启动屏幕结束后是否显示导航栏(可选)。routeAnimation
设置启动屏幕结束后页面跳转动画类型(可选)。
这样,你就成功地使用 tbib_splash_screen
插件为你的 Flutter 应用添加了一个自定义的启动屏幕。