intro_slider 1.1.1
intro_slider: ^1.1.1 copied to clipboard
A plugin to help you make intro slider screen to show the major features of your app. You can change the image, button, text style, color, and more things
FLUTTER INTRO SLIDER
A plugin to help you make intro screens to show the major features of your app. You can change the image, button, text style, color, and more things. Create intro screens is never been more quick and easy than this
Add to pubspec.yaml file
dependencies:
intro_slider: ^1.1.1
Import
import 'package:intro_slider/intro_slider.dart';
Demo
[Button example gif] | [Custom layout example gif]
Example
Default config #
[default config image]
class MySplashScreenState extends State<MySplashScreen> {
List<Slide> slides = new List();
@override
void initState() {
super.initState();
slides.add(
new Slide(
title: "ERASER",
description: "Allow miles wound place the leave had. To sitting subject no improve studied limited",
pathImage: "images/photo_eraser.png",
backgroundColor: Color(0xfff5a623),
),
);
slides.add(
new Slide(
title: "PENCIL",
description: "Ye indulgence unreserved connection alteration appearance",
pathImage: "images/photo_pencil.png",
backgroundColor: Color(0xff203152),
),
);
slides.add(
new Slide(
title: "RULER",
description:
"Much evil soon high in hope do view. Out may few northward believing attempted. Yet timed being songs marry one defer men our. Although finished blessing do of",
pathImage: "images/photo_ruler.png",
backgroundColor: Color(0xff9932CC),
),
);
}
void onDonePress() {
// TODO: go to next screen
}
void onSkipPress() {
// TODO: go to next screen
}
@override
Widget build(BuildContext context) {
return new IntroSlider(
slides: this.slides,
onDonePress: this.onDonePress,
onSkipPress: this.onSkipPress,
);
}
}
Custom config #
[custom config image]
class MySplashScreenState extends State<MySplashScreen> {
List<Slide> slides = new List();
@override
void initState() {
super.initState();
slides.add(
new Slide(
title: "SCHOOL",
styleTitle:
TextStyle(color: Color(0xffD02090), fontSize: 30.0, fontWeight: FontWeight.bold, fontFamily: 'RobotoMono'),
description: "Allow miles wound place the leave had. To sitting subject no improve studied limited",
styleDescription:
TextStyle(color: Color(0xffD02090), fontSize: 20.0, fontStyle: FontStyle.italic, fontFamily: 'Raleway'),
pathImage: "images/photo_school.png",
colorBegin: Color(0xffFFDAB9),
colorEnd: Color(0xff40E0D0),
directionColorBegin: Alignment.topLeft,
directionColorEnd: Alignment.bottomRight,
onImagePress: () {},
),
);
slides.add(
new Slide(
title: "MUSEUM",
styleTitle:
TextStyle(color: Color(0xffD02090), fontSize: 30.0, fontWeight: FontWeight.bold, fontFamily: 'RobotoMono'),
description: "Ye indulgence unreserved connection alteration appearance",
styleDescription:
TextStyle(color: Color(0xffD02090), fontSize: 20.0, fontStyle: FontStyle.italic, fontFamily: 'Raleway'),
pathImage: "images/photo_museum.png",
colorBegin: Color(0xffFFFACD),
colorEnd: Color(0xffFF6347),
directionColorBegin: Alignment.topRight,
directionColorEnd: Alignment.bottomLeft,
),
);
slides.add(
new Slide(
title: "COFFEE COFFEE COFFEE COFFEE COFFEE COFFEE COFFEE COFFEE COFFEE",
maxLineTitle: 2,
styleTitle:
TextStyle(color: Color(0xffD02090), fontSize: 30.0, fontWeight: FontWeight.bold, fontFamily: 'RobotoMono'),
description:
"Much evil soon high in hope do view. Out may few northward believing attempted. Yet timed being songs marry one defer men our. Although finished blessing do of",
styleDescription:
TextStyle(color: Color(0xffD02090), fontSize: 20.0, fontStyle: FontStyle.italic, fontFamily: 'Raleway'),
pathImage: "images/photo_coffee_shop.png",
colorBegin: Color(0xffFFA500),
colorEnd: Color(0xff7FFFD4),
directionColorBegin: Alignment.topCenter,
directionColorEnd: Alignment.bottomCenter,
maxLineTextDescription: 3,
),
);
}
void onDonePress() {
// TODO: go to next screen
}
void onSkipPress() {
// TODO: go to next screen
}
Widget renderNextBtn() {
return Icon(
Icons.navigate_next,
color: Color(0xffD02090),
size: 35.0,
);
}
Widget renderDoneBtn() {
return Icon(
Icons.done,
color: Color(0xffD02090),
);
}
Widget renderSkipBtn() {
return Icon(
Icons.skip_next,
color: Color(0xffD02090),
);
}
@override
Widget build(BuildContext context) {
return new IntroSlider(
// List slides
slides: this.slides,
// Skip button
renderSkipBtn: this.renderSkipBtn(),
onSkipPress: this.onSkipPress,
colorSkipBtn: Color(0x33000000),
highlightColorSkipBtn: Color(0xff000000),
// Next, Done button
onDonePress: this.onDonePress,
renderNextBtn: this.renderNextBtn(),
renderDoneBtn: this.renderDoneBtn(),
colorDoneBtn: Color(0x33000000),
highlightColorDoneBtn: Color(0xff000000),
// Dot indicator
colorDot: Color(0x33D02090),
colorActiveDot: Color(0xffD02090),
sizeDot: 13.0,
);
}
}
Options
Slide object attributes #
Name | Type | Default | Description |
---|---|---|---|
Title | |||
title | String |
"" | Change text title at top |
maxLineTitle | int |
1 | Change max number of lines title at top |
styleTitle | TextStyle |
White color, bold and font size is 30.0 | Style for text title |
marginTitle | EdgeInsets |
top: 70.0, bottom: 50.0 | Margin for text title |
Image | |||
pathImage | String |
"" | Path to your local image |
widthImage | double |
250.0 | Width of image |
heightImage | double |
250.0 | Height of image |
onImagePress | Function |
Do nothing | Fire when press image |
Description | |||
description | String |
"" | Change text description at bottom |
maxLineTextDescription | String |
100 | Maximum line of text description |
styleDescription | TextStyle |
White and font size is 18.0 | Style for text description |
marginDescription | EdgeInsets |
left, right = 20.0, top, bottom = 50.0 | Margin for text description |
Background | |||
backgroundColor | Color |
Color(0xfff5a623) | Background tab color |
colorBegin | Color |
null | Gradient tab color begin |
colorEnd | Color |
null | Gradient tab color end |
directionColorBegin | AlignmentGeometry |
null | Direction color begin |
directionColorEnd | AlignmentGeometry |
null | Direction color end |
IntroSlider widget attributes #
Name | Type | Default | Description |
---|---|---|---|
Slide | |||
slides | Slide |
No default, required | An array of Slide object |
Skip Button | |||
renderSkipBtn | Widget |
Button with text SKIP | Render your own SKIP button |
onSkipPress | Function |
Do nothing | Fire when press SKIP button |
nameSkipBtn | String |
"SKIP" | Change SKIP to any text you want |
styleNameSkipBtn | TextStyle |
White color | Style for text at SKIP button |
colorSkipBtn | Color |
transparent | Color for SKIP button |
highlightColorSkipBtn | Color |
Color(0x4dffffff) | Color for SKIP button when press |
isShowSkipBtn | bool |
true | Show or hide SKIP button |
borderRadiusSkipBtn | double |
30.0 | Rounded SKIP button |
Next Button | |||
renderNextBtn | Widget |
Button with text NEXT | Render your own NEXT button |
nameNextBtn | String |
"NEXT" | Change NEXT to any text you want |
borderRadiusNextBtn | double |
30.0 | Rounded NEXT button |
Done Button | |||
renderDoneBtn | Widget |
Button with text DONE | Render your own DONE button |
onDonePress | Function |
Do nothing | Fire when press DONE button |
nameDoneBtn | String |
"DONE" | Change DONE to any text you want |
styleNameDoneBtn | TextStyle |
White color | Style for text at DONE button |
colorDoneBtn | Color |
transparent | Color for DONE button |
highlightColorDoneBtn | Color |
Color(0x4dffffff) | Color for DONE button when press |
borderRadiusDoneBtn | double |
30.0 | Rounded DONE button |
Dot Indicator | |||
isShowDotIndicator | bool |
true | Show or hide dot indicator |
colorDot | Color |
Color(0x80000000) | Color for dot when passive |
colorActiveDot | Color |
Color(0xffffffff) | Color for dot when active |
sizeDot | double |
8.0 | Size of each dot |