Flutter启动屏幕插件tbib_splash_screen的使用

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

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

1 回复

更多关于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 应用中设置启动屏幕。

  1. 创建启动屏幕资源: 在你的 assets 文件夹中创建一个启动屏幕图像,例如 assets/splash.png

  2. 配置 pubspec.yaml 中的资源

flutter:
  assets:
    - assets/splash.png
  1. 配置启动屏幕

在你的 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 应用添加了一个自定义的启动屏幕。

回到顶部