flutter_carousel_intro
by: Eliezer António
see in Flutter Gems: fluttergems.dev/packages/flutter_carousel_intro
Swipe the carousel to the current clicked indicator
Current Features
XCustom child widgetsXSlideXRotate transitionXAuto playXHorizontal transitionXVertical transitionXSwipe the carousel to the current clicked indicator
Features to be implemented
RepeatForward button & Back button (isn't very important)
Supported Platforms
- Flutter Android
- Flutter iOS
- Flutter web
- Flutter desktop
Preview
Installation
Add flutter_carousel_intro: ^1.0.11 to your pubspec.yaml dependencies. And import it:
import 'package:flutter_carousel_intro/flutter_carousel_intro.dart';
How to use
FlutterCarouselIntro(
slides: [
SliderItem(
title: 'Title 1',
subtitle: const Text('Lorem Ipsum is simply dummy text'),
widget: SvgPicture.asset("assets/slide-1.svg"),
),
SliderItem(
title: 'Title 2',
subtitle: const Text('Lorem Ipsum is simply dummy text'),
widget: SvgPicture.asset("assets/slide-2.svg"),
),
SliderItem(
title: 'Title 3',
subtitle: const Text('Lorem Ipsum is simply dummy text'),
widget: SvgPicture.asset("assets/slide-3.svg"),
),
SliderItem(
title: 'Title 4',
subtitle: const Text('Lorem Ipsum is simply dummy text'),
widget: SvgPicture.asset("assets/slide-4.svg"),
),
SliderItem(
title: 'Title 5',
subtitle: const Text('Lorem Ipsum is simply dummy text'),
widget: SvgPicture.asset("assets/slide-5.svg"),
),
SliderItem(
title: 'Title 5',
widget: SvgPicture.asset("assets/slide-6.svg"),
subtitle: ElevatedButton(
onPressed: () {},
child: const Text("skip"),
),
),
],
);
All SliderItem parameters
String? title,
TextStyle? titleTextStyle,
TextAlign? titleTextAlign,
Widget? subtitle,
General Example
class MySlideShow extends StatelessWidget {
const MySlideShow({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return FlutterCarouselIntro(
animatedRotateX: false,
animatedRotateZ: true,
scale: true,
autoPlay: true,
animatedOpacity: false,
autoPlaySlideDuration: const Duration(seconds: 2),
autoPlaySlideDurationTransition: const Duration(milliseconds: 1100),
primaryColor: Colors.pink,
secondaryColor: Colors.grey,
scrollDirection: Axis.horizontal,
indicatorAlign: IndicatorAlign.bottom,
indicatorEffect: IndicatorEffects.jumping,
showIndicators: true,
slides: [
SliderItem(
title: 'Title 1',
subtitle: const Text('Lorem Ipsum is simply dummy text'),
widget: SvgPicture.asset("assets/slide-1.svg"),
),
SliderItem(
title: 'Title 2',
subtitle: const Text('Lorem Ipsum is simply dummy text'),
widget: SvgPicture.asset("assets/slide-2.svg"),
),
SliderItem(
title: 'Title 3',
subtitle: const Text('Lorem Ipsum is simply dummy text'),
widget: SvgPicture.asset("assets/slide-3.svg"),
),
SliderItem(
title: 'Title 4',
subtitle: const Text('Lorem Ipsum is simply dummy text'),
widget: SvgPicture.asset("assets/slide-4.svg"),
),
SliderItem(
title: 'Title 5',
subtitle: const Text('Lorem Ipsum is simply dummy text'),
widget: SvgPicture.asset("assets/slide-5.svg"),
),
SliderItem(
title: 'Title 5',
widget: SvgPicture.asset("assets/slide-6.svg"),
subtitle: ElevatedButton(
onPressed: () {},
child: const Text("skip"),
),
),
],
);
}
}
Gif
Normal Example:
Animated Opacity

animatedOpacity: true
Animated Scale
scale: true
Animated Rotation on the X Axis
animatedRotateX: true
Animated Rotation on the Z Axis
animatedRotateZ: true
Contributions
Feel free to contribute to this project.
If you find a bug or want a feature, but don't know how to fix/implement it, please fill an issue.
If you fixed a bug or implemented a feature, please send a pull request.
My Packages
Libraries
- carousel_item
- carousel_slide_item
- carousel_slides
- create_structure_slides
- flutter_carousel_intro
- page_indicator/effects/color_transition_effect
- page_indicator/effects/customizable_effect
- page_indicator/effects/expanding_dots_effect
- page_indicator/effects/indicator_effect
- page_indicator/effects/jumping_dot_effect
- page_indicator/effects/scale_effect
- page_indicator/effects/scrolling_dots_effect
- page_indicator/effects/slide_effect
- page_indicator/effects/swap_effect
- page_indicator/effects/worm_effect
- page_indicator/page_indicator
- page_indicator/painters/color_transition_painter
- page_indicator/painters/customizable_painter
- page_indicator/painters/expanding_dots_painter
- page_indicator/painters/indicator_painter
- page_indicator/painters/jumping_dot_painter
- page_indicator/painters/scale_painter
- page_indicator/painters/scrolling_dots_painter
- page_indicator/painters/scrolling_dots_painter_with_fixed_center
- page_indicator/painters/slide_painter
- page_indicator/painters/swap_painter
- page_indicator/painters/worm_painter
- page_indicator/smoth_indicator
- slider_item_model
- slider_model
- utils/enums