intro_onboarding_slider 0.1.6 copy "intro_onboarding_slider: ^0.1.6" to clipboard
intro_onboarding_slider: ^0.1.6 copied to clipboard

A simple, reusable onboarding slider for Flutter apps with pages, indicators, and navigation controls.

example/lib/main.dart

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

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

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: const OnboardingDemo(),
      theme: ThemeData.light(),
      darkTheme: ThemeData.dark(),
      themeMode: ThemeMode.system,
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    final pages = [
      OnboardingPageData.fromNetwork(
        title: 'Welcome',
        description: 'Reusable onboarding for your Flutter apps',
        url: 'https://picsum.photos/seed/1/800/600',
      ),
      OnboardingPageData.fromNetwork(
        title: 'Beautiful',
        description: 'Animations and simple API',
        url: 'https://picsum.photos/seed/2/800/600',
      ),
      OnboardingPageData.fromNetwork(
        title: 'Ready?',
        description: 'Let\'s get started',
        url: 'https://picsum.photos/seed/3/800/600',
        buttonText: 'Get Started',
      ),
    ];

    return IntroOnboardingFlow(
      pages: pages,
      onCompleted: () {
        Navigator.of(context).pushReplacement(
          MaterialPageRoute(builder: (_) => const DoneScreen()),
        );
      },
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            const Icon(Icons.check_circle, color: Colors.green, size: 72),
            const SizedBox(height: 16),
            const Text('Onboarding Complete!'),
            const SizedBox(height: 24),
            ElevatedButton(
              onPressed: () => Navigator.of(context).pushReplacement(
                MaterialPageRoute(builder: (_) => const OnboardingDemo()),
              ),
              child: const Text('Restart'),
            )
          ],
        ),
      ),
    );
  }
}
1
likes
150
points
14
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A simple, reusable onboarding slider for Flutter apps with pages, indicators, and navigation controls.

Homepage
Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter, flutter_animate, google_fonts, lottie

More

Packages that depend on intro_onboarding_slider