backdrop_widget 0.3.0

backdrop #

Backdrop implementation in flutter.

Fork version of flutter backdrop.

Getting started #

Follow the medium article to Quickly Implement Backdrop in Flutter.

Usage #

BackdropScaffold #

Use BackdropScaffold instead of the standard Scaffold in your app. A backLayer and a frontLayer have to be defined for the backdrop to work.

    title: Text("Backdrop Example"),
    backLayer: Center(
        child: Text("Back Layer"),
    frontLayer: Center(
        child: Text("Front Layer"),
    iconPosition: BackdropIconPosition.leading,
BackdropScaffold example

To use backdrop for navigation, use the provided BackdropNavigationBackLayer as backLayer.

The BackdropNavigationBackLayer contains a property items representing the list elements shown on the back layer. The front layer has to be "manually" set depending on the current index, which can be accessed with the onTap callback.

class _MyAppState extends State<MyApp> {
  int _currentIndex = 0;
  final List<Widget> _frontLayers = [Widget1(), Widget2()];

  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Backdrop Demo',
      home: BackdropScaffold(
        title: Text("Backdrop Navigation Example"),
        iconPosition: BackdropIconPosition.leading,
        actions: <Widget>[
            icon: AnimatedIcons.list_view,
        frontLayer: _frontLayers[_currentIndex],
        backLayer: BackdropNavigationBackLayer(
          items: [
            ListTile(title: Text("Widget 1")),
            ListTile(title: Text("Widget 2")),
          onTap: (int position) => {setState(() => _currentIndex = position)},
BackdropNavigationScaffold example

For more information, check out sample code in the example directory

Contribute #

  1. You'll need a gitlab account. (Sorry, if you had to create one!!)
  2. Fork the repository.
  3. Implement features from to-do, fix issues, etc.
  4. Add your name and email in AUTHORS file
  5. Send merge request.
  6. Star this project.
  7. Become a hero!!

Features and bugs #

Please file feature requests and bugs at the issue tracker.


  • Properly document the usage of the widget in
  • Properly document classes and public methods
  • scaffoldKey provided to access scaffold directly
  • Write an example flutter app to demonstrate options and functionality
  • Using InheritedWIdget for storing controller in state and accessing it throughout
  • Dynamic height for backdrop - based on height of backpanel
  • Fixed height for backdrop - provided in argument of BackdropScaffold
  • BackdropNavigation : Using backpanel for navigation
  • BackdropTitle : Different title for backpanel and frontpanel visibility
  • BackdropAction : Action with view in backpanel
  • subheader argument (optional) in BackdropScaffol
  • BackdropToggle : widget to fling backdrop anywhere inside the scaffol
  • BackdropButton : widget that build button with BackdropToggle with default menu_close icon. Can directly be used in actions.

[0.3.0] - 25 January 2020

  • Added animation for the backdrop color animation
  • Added duration parameter

[0.2.8] - 16 January 2020

  • disabling focus on backLayer when not visible

[0.2.7] - 18 December 2019

  • updated

[0.2.0] - 18 December 2019

  • NavigationBackLayer widget - for easily implement navigation with backdrop
  • stickyFrontLayer - dynamic height for backdrop - based on height of backLayer
  • animationCurve for backdrop can be passed as parameter
  • minor bug fixes

[0.1.0] - 28 July 2018.

  • opacity fixes in BackdropScaffold.
  • headerHeight option added in BackdropScaffold.
  • frontLayerBorderRadius option added in BackdropScaffold
  • refactor: body -> frontLayer
  • refactor: backpanel -> backLayer
  • BackdropToggleButton widget implemented.

[0.0.1] - 21 July 2018.

  • Basic backdrop implementation.
  • BackdropScaffold widget implemented.


example #

A new Flutter project.

Getting Started #

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

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  backdrop_widget: ^0.3.0

2. Install it

You can install packages from the command line:

with Flutter:

$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:backdrop_widget/backdrop.dart';
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

We analyzed this package on Feb 19, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.7.1
  • pana: 0.13.5
  • Flutter: 1.12.13+hotfix.7

Health suggestions

Fix lib/backdrop.dart. (-0.50 points)

Analysis of lib/backdrop.dart reported 1 hint:

line 143 col 10: The declaration '_buildInactiveLayer' isn't referenced.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.19.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.8
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
test any