Flutter启动闪屏插件twitter_splash_screen的使用

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

Flutter启动闪屏插件twitter_splash_screen的使用

Flutter Twitter Splash Screen

一个为Flutter提供的可定制Twitter风格动画闪屏插件,具有平滑缩放动画和过渡效果。

demo

特性

  • 🎯 完美像素对齐的Twitter闪屏动画
  • 🎨 完全可定制外观(logo、颜色、时长)
  • ⚡ 平滑缩放与过渡动画
  • 📱 在所有平台上工作
  • 🔧 简单集成
  • 💫 漂亮的弹跳效果

安装

将以下内容添加到您的包的 pubspec.yaml 文件中:

dependencies:
  twitter_splash: ^1.0.0

使用

基本实现
import 'package:twitter_splash/twitter_splash.dart';

TwitterSplashScreen(
  child: HomeScreen(), // 主要应用屏幕
  logo: Image.asset('assets/logo.png'), // 应用logo
)
自定义实现
TwitterSplashScreen(
  // 必需
  child: HomeScreen(),
  
  // 可选自定义设置
  logo: SvgPicture.asset(
    'assets/logo.svg',
    width: 80,
    height: 80,
  ),
  backgroundColor: Colors.blue,
  logoColor: Colors.white,
  initialDelay: const Duration(milliseconds: 500),
  animationDuration: const Duration(milliseconds: 2000),
  onAnimationComplete: () {
    print('Splash animation completed!');
  },
)

自定义选项

参数 类型 默认值 描述
child Widget required 显示在闪屏后的主屏幕
logo Widget? null 自定义logo组件
backgroundColor Color Colors.black 闪屏背景色
logoColor Color Colors.white 默认logo颜色
initialDelay Duration 500ms 动画开始延迟
animationDuration Duration 2000ms 总动画时间
onAnimationComplete VoidCallback? null 完成回调

示例

使用默认logo
TwitterSplashScreen(
  child: HomeScreen(),
)
自定义SVG logo
TwitterSplashScreen(
  child: HomeScreen(),
  logo: SvgPicture.asset(
    'assets/logo.svg',
    width: 80,
  ),
)
全面自定义
TwitterSplashScreen(
  child: HomeScreen(),
  logo: Image.asset(
    'assets/logo.png',
    width: 100,
    height: 100,
  ),
  backgroundColor: const Color(0xFF1DA1F2), // Twitter蓝色
  initialDelay: const Duration(seconds: 1),
  animationDuration: const Duration(milliseconds: 1500),
  onAnimationComplete: () => print('Welcome!'),
)

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

1 回复

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


当然,以下是一个关于如何在Flutter项目中使用twitter_splash_screen插件来实现启动闪屏效果的代码示例。

首先,你需要在pubspec.yaml文件中添加twitter_splash_screen依赖:

dependencies:
  flutter:
    sdk: flutter
  twitter_splash_screen: ^1.2.3  # 请注意版本号,使用最新版本

然后运行flutter pub get来获取依赖。

接下来,你需要配置闪屏页面的资源。通常,这包括一个闪屏图片和背景颜色。在你的assets文件夹中放置你的闪屏图片(例如assets/splash.png),并在pubspec.yaml中声明它:

flutter:
  assets:
    - assets/splash.png

然后,你可以在你的main.dart文件中配置并使用TwitterSplashScreen。以下是一个完整的示例:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: TwitterSplashScreen(
        backgroundColor: Colors.white,  // 闪屏背景颜色
        imagePath: 'assets/splash.png', // 闪屏图片路径
        loaderColor: Colors.blue,       // 加载指示器颜色
        photoSize: 200,                 // 图片大小(可选)
        duration: 3000,                 // 闪屏持续时间(毫秒)
        navigateAfterSeconds: null,     // 闪屏后导航到的页面(使用null表示手动控制导航)
        onEndPage: () => HomePage(),    // 闪屏结束后导航到的页面(WidgetBuilder)
      ),
    );
  }
}

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

在这个示例中:

  • backgroundColor 设置了闪屏的背景颜色。
  • imagePath 设置了闪屏图片的路径。
  • loaderColor 设置了加载指示器的颜色(如果你希望显示加载指示器的话)。
  • photoSize 设置了图片的大小(可选参数,如果不设置则使用图片原始大小)。
  • duration 设置了闪屏的持续时间(毫秒),到达此时间后会自动跳转到下一个页面。如果设置为null或者一个非常大的值,你可以通过其他方式(比如按钮点击)来控制导航。
  • navigateAfterSeconds 可以用来设置自动导航到下一个页面的时间(秒),如果设置为null则不自动导航。
  • onEndPage 是一个回调函数,当闪屏结束时会被调用,并返回下一个页面。在这个例子中,它返回了一个HomePage的实例。

注意:navigateAfterSecondsonEndPage通常不会同时使用。如果你设置了navigateAfterSeconds,闪屏会在指定时间后自动结束并导航到下一个页面;如果你使用了onEndPage回调,则可以通过逻辑控制何时结束闪屏并导航。

这样,你就成功地在Flutter项目中使用了twitter_splash_screen插件来实现启动闪屏效果。

回到顶部