• Stars
    star
    361
  • Rank 114,190 (Top 3 %)
  • Language
    Dart
  • License
    MIT License
  • Created almost 6 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fancy OnBoarding Screen Library

πŸ‘ FancyOnBoarding

Say Thanks! Twitter

A Fancy OnBoarding Screen Library for Easy and Quick Usage.

  • Checkout the Original Author : GitHub followers
  • Checkout the Original Designer : GitHub followers

The source code is 100% Dart, and everything resides in the /lib folder.

Show some ❀️ and star the repo to support the project

GitHub stars GitHub forks GitHub watchers GitHub followers
Twitter Follow

Open Source Love License Build Status CodeCov

GIF

GIF

πŸ’» Installation

In the dependencies: section of your pubspec.yaml, add the following line:

Version

fancy_on_boarding: <latest_version>

❔ Usage

Import this class

import 'package:fancy_on_boarding/fancy_on_boarding.dart';

Create a List of PageModel

  final pageList = [
    PageModel(
        color: const Color(0xFF678FB4),
        heroImagePath: 'assets/png/hotels.png',
        title: Text('Hotels',
            style: TextStyle(
              fontWeight: FontWeight.w800,
              color: Colors.white,
              fontSize: 34.0,
            )),
        body: Text('All hotels and hostels are sorted by hospitality rating',
            textAlign: TextAlign.center,
            style: TextStyle(
              color: Colors.white,
              fontSize: 18.0,
            )),
        iconImagePath: 'assets/png/key.png'),
    PageModel(
        color: const Color(0xFF65B0B4),
        heroImagePath: 'assets/png/banks.png',
        title: Text('Banks',
            style: TextStyle(
              fontWeight: FontWeight.w800,
              color: Colors.white,
              fontSize: 34.0,
            )),
        body: Text(
            'We carefully verify all banks before adding them into the app',
            textAlign: TextAlign.center,
            style: TextStyle(
              color: Colors.white,
              fontSize: 18.0,
            )),
        iconImagePath: 'assets/png/wallet.png'),
    PageModel(
      color: const Color(0xFF9B90BC),
      heroImagePath: 'assets/png/stores.png',
      title: Text('Store',
          style: TextStyle(
            fontWeight: FontWeight.w800,
            color: Colors.white,
            fontSize: 34.0,
          )),
      body: Text('All local stores are categorized for your convenience',
          textAlign: TextAlign.center,
          style: TextStyle(
            color: Colors.white,
            fontSize: 18.0,
          )),
      icon: Icon(
        Icons.shopping_cart,
        color: const Color(0xFF9B90BC),
      ),
    ),
    // SVG Pages Example
    PageModel(
        color: const Color(0xFF678FB4),
        heroImagePath: 'assets/svg/hotel.svg',
        title: Text('Hotels SVG',
            style: TextStyle(
              fontWeight: FontWeight.w800,
              color: Colors.white,
              fontSize: 34.0,
            )),
        body: Text('All hotels and hostels are sorted by hospitality rating',
            textAlign: TextAlign.center,
            style: TextStyle(
              color: Colors.white,
              fontSize: 18.0,
            )),
        iconImagePath: 'assets/svg/key.svg',
        heroImageColor: Colors.white),
    PageModel(
        color: const Color(0xFF65B0B4),
        heroImagePath: 'assets/svg/bank.svg',
        title: Text('Banks SVG',
            style: TextStyle(
              fontWeight: FontWeight.w800,
              color: Colors.white,
              fontSize: 34.0,
            )),
        body: Text(
            'We carefully verify all banks before adding them into the app',
            textAlign: TextAlign.center,
            style: TextStyle(
              color: Colors.white,
              fontSize: 18.0,
            )),
        iconImagePath: 'assets/svg/cards.svg',
        heroImageColor: Colors.white),
    PageModel(
      color: const Color(0xFF9B90BC),
      heroImagePath: 'assets/svg/store.svg',
      title: Text('Store SVG',
          style: TextStyle(
            fontWeight: FontWeight.w800,
            color: Colors.white,
            fontSize: 34.0,
          )),
      body: Text('All local stores are categorized for your convenience',
          textAlign: TextAlign.center,
          style: TextStyle(
            color: Colors.white,
            fontSize: 18.0,
          )),
      iconImagePath: 'assets/svg/cart.svg',
    ),
  ];

Pass it into the FancyOnBoarding widget

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: FancyOnBoarding(
        doneButtonText: "Done",
        skipButtonText: "Skip",
        pageList: pageList,
        onDoneButtonPressed: () =>
            Navigator.of(context).pushReplacementNamed('/mainPage'),
        onSkipButtonPressed: () =>
            Navigator.of(context).pushReplacementNamed('/mainPage'),
      ),
    );
  }

🎨 Customization and Attributes

FancyOnBoarding attributes

Attribute Name Example Value Description
pageList List<PageModel> The list of pages to be displayed
onDoneButtonPressed (){} Function to be called on pressing done button
onSkipButtonPressed (){} Function to be called on pressing skip button
doneButtonText "Let's Go" Done button text content defaults to "Done"
skipButtonText "Skip" Skip button text content defaults to "Skip"
showSkipButton true Skip button should be visible or not. Defaults to true
bottomMargin 8.0 Indicator bottom margin. Defaults to 8.0
doneButton Button(onPressed:(){},child:Text('Done')) Custom DoneButton. Will replace default doneButton if provided
skipButton Button(onPressed:(){},child:Text('Skip')) Custom SkipButton. Will replace default doneButton if provided

PageModel attributes

Attribute Name Example Value Description
color Color(0xFF65B0B4) The background color of the page
heroAssetPath 'assets/banks.png' The main onboarding image
heroAssetColor Color(0xFF65B0B4) Main onboarding image color
title Text('Banks') Title of the page
body Text('We carefully verify all banks before adding them into the app') Body of the page
iconAssetPath 'assets/wallet.png' Icon for the floating bubble
icon Icon(Icons.shopping_cart) Icon for the floating bubble, Will replace 'iconAssetPath' if provided

πŸ‘ How to Contribute

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

πŸ“ƒ License

Copyright (c) 2018 Sahil Kumar

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Getting Started

For help getting started with Flutter, view our online documentation.

For help on editing package code, view the documentation.

More Repositories

1

before_after

A flutter package which makes it easier to display the difference between two images.
Dart
857
star
2

giffy_dialog

A Flutter package for a quick and handy giffy dialog.
Dart
651
star
3

super_enum

Create super-powered dart enums similar to sealed classes in Kotlin
Dart
118
star
4

flutter_network_handling

Handling Network Calls like a Pro in Flutter
Dart
94
star
5

multi_trigger_autocomplete

A flutter widget to add trigger based autocomplete functionality to your app.
Dart
85
star
6

Flutter-News-Reader

News Reader App to fetch Articles from different news channels using Flutter.
Dart
85
star
7

super_paging

Add pagination or load more or infinite scrolling functionality to your flutter list view with ease.
Dart
29
star
8

BmiChecker

A basic flutter application to check BMI of an person.
Dart
17
star
9

MovieMania

An Android app to view details about the top rated and new movies. It uses themoviedb.org to fetch details about the movies.
Java
16
star
10

Shared-Animation

This project implements (Custom Dialog + Shared Transition).
Java
8
star
11

jwelery_kart

Dart
8
star
12

flutter_phone_auth

Dart
8
star
13

MemeLord

An Android app which provides a healthy competition between the users to post Memes and rank to the top of the leader board and become the ultimate MEME LORD.
Java
8
star
14

BigChef

Android App to view recipes and their steps + Ingredients (Exoplayer)
Java
7
star
15

Flutter-Basic-Template

Dart
5
star
16

FAFlutterPackages

Dart
5
star
17

BuildItBigger

Udacity Nanodegree Project 4
Java
4
star
18

CircularRevealDemo

Java
4
star
19

BasicAppLock

Java
4
star
20

The-Audical-App

Kotlin
4
star
21

LauncherHomeLock

Java
4
star
22

NewsReader

An app by which you can read latest news
Java
4
star
23

stream_feed_dart

Dart
3
star
24

Easyly

A personal assistant for your day to day tasks.
Java
3
star
25

GithubActionTest

Dart
3
star
26

Simple-Firebase-Email-Authentication

Firebase Email Authentication+Verification
Java
3
star
27

MotionLayoutPlayground

Kotlin
3
star
28

FaCozy

Sample native android project which communicates with a flutter module
Dart
3
star
29

Scheduler

silent scheduler
Java
3
star
30

Pratra

Simple Food Ordering App...
Java
3
star
31

NavigationDrawerWithTabActivity

One Of the most used activity all over the world which contains a navigation drawer and a tab Activity.
Java
3
star
32

PicknDrop

An app to check route between two different places
Java
3
star
33

PikaPlay

2
star
34

ds_algo

Dart
2
star
35

Chromium-Android

1
star
36

in_app_review

Kotlin
1
star