Search categories, packages and repositories

flutter_image_slideshow cover
Package detailsv0.1.6

flutter_image_slideshow

A simple image slideshow widget. Mainly intended for image widget, but other widgets can also be used.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
7.1K
Likes
202
Pub points
160

Install package

flutter pub add flutter_image_slideshow

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A lightweight Flutter widget for creating image slide shows with smooth transitions. Designed primarily for displaying images, it also supports custom widgets within the slideshow. Ideal for galleries, product showcases, or introductory screens. The package is cross-platform, working seamlessly on Android, iOS, Web, macOS, Windows, and Linux. It offers simple integration via a single dependency and provides a clean API for managing slides and animations.

Use cases

  • Image galleries
  • Product carousels
  • Onboarding screens
  • Digital signage
  • Presentation interfaces

Key features

  • Smooth sliding transitions
  • Support for custom widgets
  • Cross-platform compatibility
  • Simple setup with pub add
  • Configurable auto-play and duration

Suitable for

  • Developers building visual content displays
  • Apps needing interactive image presentations
  • Projects requiring minimal setup for slide shows

Considerations

  • May require optimization for large image sets
  • Limited customization for complex animations
  • Not ideal for high-performance video slideshows

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

flutter_image_slideshow

A simple image slideshow widget. Mainly intended for image widget, but other widgets can also be used.

Getting Started

In the pubspec.yaml of your flutter project, add the following dependency:

dependencies:
  flutter:
    sdk:
  flutter_image_slideshow: any

In your library add the following import:

  import 'package:flutter_image_slideshow/flutter_image_slideshow.dart';

Usage

These are The ImageSlideshow properties.

/// The widgets to display in the [ImageSlideshow].
///
/// Mainly intended for image widget, but other widgets can also be used.
List<Widget> children

/// Width of the [ImageSlideshow].
double width

/// Height of the [ImageSlideshow].
double height

/// The page to show when first creating the [ImageSlideshow].
int initialPage

/// The color to paint the indicator.
Color indicatorColor

/// The color to paint behind th indicator.
Color indicatorBackgroundColor

/// Called whenever the page in the center of the viewport changes.
ValueChanged<int> onPageChanged

/// Auto scroll interval.
///
/// Do not auto scroll with null or 0.
int autoPlayInterval

/// Loops back to first slide.
bool isLoop

/// Radius of circle indicator.
double indicatorRadius

/// Disable page changes by the user.
bool disableUserScrolling

Example

Create the ImageSlideshow widget. And pass the parameters.

import 'package:flutter/material.dart';
import 'package:flutter_image_slideshow_test/flutter_image_slideshow.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Demo'),
        ),
        body: ImageSlideshow(

          /// Width of the [ImageSlideshow].
          width: double.infinity,

          /// Height of the [ImageSlideshow].
          height: 200,

          /// The page to show when first creating the [ImageSlideshow].
          initialPage: 0,

          /// The color to paint the indicator.
          indicatorColor: Colors.blue,

          /// The color to paint behind th indicator.
          indicatorBackgroundColor: Colors.grey,

          /// The widgets to display in the [ImageSlideshow].
          /// Add the sample image file into the images folder
          children: [
            Image.asset(
              'images/sample_image_1.jpg',
              fit: BoxFit.cover,
            ),
            Image.asset(
              'images/sample_image_2.jpg',
              fit: BoxFit.cover,
            ),
            Image.asset(
              'images/sample_image_3.jpg',
              fit: BoxFit.cover,
            ),
          ],

          /// Called whenever the page in the center of the viewport changes.
          onPageChanged: (value) {
            print('Page changed: $value');
          },

          /// Auto scroll interval.
          /// Do not auto scroll with null or 0.
          autoPlayInterval: 3000,

          /// Loops back to first slide.
          isLoop: true,
        ),
      ),
    );
  }
}

Categories

Source repository

Projects using this package

No data available yet.