unique_splash_screen 0.0.1 copy "unique_splash_screen: ^0.0.1" to clipboard
unique_splash_screen: ^0.0.1 copied to clipboard

A unique and customizable splash screen package for Flutter applications.

example/lib/main.dart

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

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Unique Splash Demo',
      debugShowCheckedModeBanner: false,
      home: const SplashSelector(),
    );
  }
}

/// Screen to select which splash screen example to show
class SplashSelector extends StatelessWidget {
  const SplashSelector({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Select Splash Screen Example')),
      body: ListView(
        padding: const EdgeInsets.all(20),
        children: [
          ElevatedButton(
            child: const Text('Basic Splash Screen'),
            onPressed: () {
              Navigator.push(
                context,
                MaterialPageRoute(builder: (_) => const BasicSplashScreen()),
              );
            },
          ),
          const SizedBox(height: 16),
          ElevatedButton(
            child: const Text('Gradient + Title + Subtitle Splash'),
            onPressed: () {
              Navigator.push(
                context,
                MaterialPageRoute(builder: (_) => const GradientSplashScreen()),
              );
            },
          ),
          const SizedBox(height: 16),
          ElevatedButton(
            child: const Text('Background Image + Bottom Loading'),
            onPressed: () {
              Navigator.push(
                context,
                MaterialPageRoute(
                  builder: (_) => const BackgroundImageSplash(),
                ),
              );
            },
          ),
        ],
      ),
    );
  }
}

/// 1. Basic Splash Screen with logo and auto navigation
class BasicSplashScreen extends StatelessWidget {
  const BasicSplashScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return SplashScreen(
      logo: const FlutterLogo(size: 120),
      duration: const Duration(seconds: 3),
      done: Done(const HomePage()),
    );
  }
}

/// 2. Splash Screen with gradient background, title, subtitle, loading indicator
class GradientSplashScreen extends StatelessWidget {
  const GradientSplashScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return SplashScreen(
      gradient: const LinearGradient(
        colors: [Colors.blue, Colors.blueAccent],
        begin: Alignment.topLeft,
        end: Alignment.bottomRight,
      ),
      logo: const FlutterLogo(size: 100),
      title: const Padding(
        padding: EdgeInsets.only(top: 16.0),
        child: Text(
          'Welcome to MyApp',
          style: TextStyle(
            fontSize: 28,
            fontWeight: FontWeight.bold,
            color: Colors.white,
          ),
          textAlign: TextAlign.center,
        ),
      ),
      subtitle: const Padding(
        padding: EdgeInsets.only(top: 8.0),
        child: Text(
          'Loading your experience...',
          style: TextStyle(fontSize: 16, color: Colors.white70),
          textAlign: TextAlign.center,
        ),
      ),
      loadingIndicator: const Padding(
        padding: EdgeInsets.only(top: 20.0),
        child: CircularProgressIndicator(color: Colors.white),
      ),
      duration: const Duration(seconds: 4),
      done: Done(const HomePage()),
    );
  }
}

/// 3. Splash Screen with background image, bottom loading indicator, and hidden status bar
class BackgroundImageSplash extends StatelessWidget {
  const BackgroundImageSplash({super.key});

  @override
  Widget build(BuildContext context) {
    return SplashScreen(
      backgroundImageDecoration: const BackgroundImageDecoration(
        image: AssetImage('assets/splash_bg.png'),
        fit: BoxFit.cover,
        opacity: 0.8,
      ),
      logo: const FlutterLogo(size: 120),
      loadingIndicator: const CircularProgressIndicator(color: Colors.white),
      bottomLoading: true,
      showStatusBar: false,
      duration: const Duration(seconds: 3),
      done: Done(const HomePage()),
    );
  }
}

/// Home Page after splash
class HomePage extends StatelessWidget {
  const HomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Home')),
      body: const Center(
        child: Text('🎉 Home Page', style: TextStyle(fontSize: 28)),
      ),
    );
  }
}
1
likes
150
points
6
downloads

Publisher

verified publisherrahulreza.com

Weekly Downloads

A unique and customizable splash screen package for Flutter applications.

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on unique_splash_screen