FLUTTER ECOSYSTEM

CarmineToriello95/tridimensional_drawer

Tridimensional Drawer is an easy way to create a 3D Perspective drawer, where you can insert any type of widget.

tridimensional_drawer project cover
Stars
6
Forks
0
Last push (UTC)
May 18, 2020
Project status
Active
CarmineToriello95 GitHub avatar
GITHUB User

CarmineToriello95 ↗

I'm a Mobile Developer, passionate with Flutter. I like recreating beautiful and complex design

Berlin
LanguagesDart

Technical topics

Packages published by this repository

Dependencies used

Dependency list 2 items
  • flutter{"sdk":"flutter"}
  • flutter_testDevelopment{"sdk":"flutter"}

Original README

English project snapshot. Visit GitHub for the latest content.

Expand / collapse project README

Tridimensional Drawer

Tridimensional Drawer is an easy way to create a 3D Perspective drawer, where you can insert any type of widget.

Version 0.1.0 Note

The version 0.1.0 solves the exception caused by the SingleTickerProviderStateMixin.

Demo

drawing

Installing

Add the package to your pubspec.yml file

dependencies:
    tridimensional_drawer: ^0.1.1

Example

Full example available in the example folder.

import 'package:flutter/material.dart';
import 'package:tridimensional_drawer/tridimensional_drawer.dart';

class Example extends StatefulWidget {
  @override
  _ExampleState createState() => _ExampleState();
}

class _ExampleState extends State<Example> {
  final TridimensionalDrawerController controller =
      TridimensionalDrawerController();

  @override
  Widget build(BuildContext context) {
    return TridimensionalDrawer(
      controller: controller,
      mainPage: GestureDetector(
        onTap: () => controller.open(),
        child: MainPage(),
      ),
      drawer: CustomDrawer(),
      backgroundPage: GestureDetector(
        onTap: () => controller.close(),
        child: Container(
          color: Colors.white,
        ),
      ),
    );
  }
}

Hint

If you use a widget containing a Scaffold as the mainPage, try to wrap the body of it inside a SingleChildScrollView, otherwise the rendering of the mainPage could go wrong at the end of the drawer opening animation.