Open In App

Flutter – Back Drop

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

Getting Started 

Adding plugin into pubspec.yaml file.






dependencies:
  backdrop: ^0.7.1

Don’t forget to get the dependency.

To use we need to  import:






import 'package:backdrop/backdrop.dart';

Simple Left Back Drop

 Syntax:  




BackdropScaffold(
  leading :   BackdropToggleButton(
              icon: AnimatedIcons.close_menu,
            )
  title : Text("Left Back Drop"),
  backLayer :  // Any widget (ListView,center..)
  frontLayer : // Any widget (ListView,center..)
  )

Example:




import 'package:flutter/material.dart';
import 'package:backdrop/backdrop.dart';
 
// main method runs the our main app
void main() {
  runApp(SimpleLeftBackDrop());
}
 
class SimpleLeftBackDrop extends StatefulWidget {
  @override
  _SimpleLeftBackDropState createState() => _SimpleLeftBackDropState();
}
 
class _SimpleLeftBackDropState extends State<SimpleLeftBackDrop> {
     
  // initialize the widget
  @override
  void initState(){
    super.initState();
  }
   
  // disposing the widget
  @override
  void dispose(){
    super.dispose();
  }
   
  @override
  Widget build(BuildContext context) {
     
    // MaterialApp with debugShowCheckedModeBanner false and title
    return MaterialApp(
      title:"Left BackDrop",
      debugShowCheckedModeBanner:false,
       
      // in home property we have BackdropScaffold
      home:BackdropScaffold(
         
          // in leading we have a button
          leading:  BackdropToggleButton( 
              icon: AnimatedIcons.close_menu,
            )
         
          // title of the appbar
          title: Text("Left Backdrop"),
          backLayer:Center(
            // backlayer body
            child:Text("BackLayer"), 
          ),
          frontLayer:Center(
            // front layer body
            child:Text("BackLayer"),
          ),
        ),
    );
  }
}

Output: 

Explanation:

Simple Right Back Drop 

Syntax: 




BackdropScaffold(
  title : Text("Left Back Drop"),
  backLayer :     // Any widget (ListView,center..)
  frontLayer :  // Any widget (ListView,center..)
  actions : [
   BackDropToogleButton(
     icon : AnimationIcons.close_menu,),
  ],
  )

Example:




import 'package:flutter/material.dart';
import 'package:backdrop/backdrop.dart';
 
// main method runs the our main app.
void main() {
  runApp(SimpleLeftBackDrop());
}
 
class SimpleLeftBackDrop extends StatefulWidget {
  const SimpleLeftBackDrop({Key? key}) : super(key: key);
 
  @override
  _SimpleLeftBackDropState createState() => _SimpleLeftBackDropState();
}
 
class _SimpleLeftBackDropState extends State<SimpleLeftBackDrop> {
  @override
  void initState() {
    super.initState();
  }
 
  @override
  void dispose() {
    super.dispose();
  }
 
  @override
  Widget build(BuildContext context) {
    // MaterialApp with debugShowCheckedModeBanner
    // false and title
    return MaterialApp(
      title: "Right BackDrop",
      debugShowCheckedModeBanner: false,
       
      // BackdropScaffold with appbar
      home: BackdropScaffold(
        appBar: AppBar(
           
          // title of appbar
          title: Text("Right Backdrop"),
           
          // actions button that
          // will open the backlayer
          actions: [ 
            BackdropToggleButton(
              // icon
              icon: AnimatedIcons.close_menu,
            )
          ],
        ),
         
        // body of backlayer
        backLayer: Center( 
          child: Text("BackLayer"),
        ),
         
        // body of front layer
        frontLayer: Center( 
          child: Text("FrontLayer"),
        ),
      ),
    );
  }
}

Output:

Explanation:


Article Tags :