introduction_screen

Introduction screen allow you to have a screen at launcher for example, where you can explain your app. This Widget is customizable (more in the future) with a great design.

Introduction_screen use another package, dots_indicator, that I also created.

Installation

You just need to add introduction_screen as a dependency in your pubspec.yaml file.

dependencies:
  introduction_screen: ^0.0.4

Example

In these example, listPagesViewModel is the list of pages. A page is base on PageViewModel. See example of a PageViewModel below.

PageViewModel

Simple page

This example only define title, body and an image (you can define any widget)

new PageViewModel(
  "Title of first page",
  "Here you can write the description of the page, to explain someting...",
  Image.network("https://domaine.com/image.png", height: 175.0),
)

Page with custom colors

This example show you how to define the color of the page (background but also the dot indicator color)

new PageViewModel(
  "Title of first page",
  "Here you can write the description of the page, to explain someting...",
  Image.asset("res/images/logo.png", height: 175.0),
  pageColor: Colors.blue,
  progressColor: Colors.red,
)

Page with custom text style

This example show you how to define another TextStyle for the title and the body

new PageViewModel(
  "Title of first page",
  "Here you can write the description of the page, to explain someting...",
  const Icon(Icons.android),
  titleTextStyle: const TextStyle(color: Colors.orange),
  bodyTextStyle: const TextStyle(fontWeight: FontWeight.w700, fontSize: 20.0),
)

IntroScreen

Simple intro screen

Simple intro screen

Base intro

new IntroScreen(
  pages: listPagesViewModel,
  onDone: () {
    // When done button is press
  }
); //Material App

Intro screen with skip button

With skip button

new IntroScreen(
  pages: listPagesViewModel,
  onDone: () {
    // When done button is press
  },
  showSkipButton: true,
);

Intro screen with custom button text

Custom button text

new IntroScreen(
  pages: listPagesViewModel,
  onDone: () {
    // When done button is press
  },
  showSkipButton: true,
  skip: const Icon(Icons.skip_next),
  next: const Icon(Icons.next)
);

Libraries

intro_button
intro_content
intro_page
introduction_screen
page_view_model

Dart

dart:ui
Built-in types and core primitives for a Flutter application. [...]

Core

dart:async
Support for asynchronous programming, with classes such as Future and Stream. [...]
dart:collection
Classes and utilities that supplement the collection support in dart:core. [...]
dart:convert
Encoders and decoders for converting between different data representations, including JSON and UTF-8. [...]
dart:core
Built-in types, collections, and other core functionality for every Dart program. [...]
dart:developer
Interact with developer tools such as the debugger and inspector. [...]
dart:math
Mathematical constants and functions, plus a random number generator. [...]
dart:typed_data
Lists that efficiently handle fixed sized data (for example, unsigned 8 byte integers) and SIMD numeric types. [...]

VM

dart:io
File, socket, HTTP, and other I/O support for non-web applications. [...]
dart:isolate
Concurrent programming using isolates: independent workers that are similar to threads but don't share memory, communicating only via messages. [...]