easy_container 1.0.4+1 copy "easy_container: ^1.0.4+1" to clipboard
easy_container: ^1.0.4+1 copied to clipboard

An easy to use container for flutter with built in gesture detectors and a lot of customization.

EasyContainer For Flutter #

pub package likes popularity pub points code size license MIT

An easy to use container for flutter with built in gesture detectors and a lot of customization.

Screenshots #

  

Usage #

To use this plugin, add easy_container as a dependency in your pubspec.yaml file.

  dependencies:
    flutter:
      sdk: flutter
    easy_container:

First and foremost, import the widget.

import 'package:easy_container/easy_container.dart';

You can now add an EasyContainer widget to your widget tree and pass the child as the only required parameter to get started. This widget will create a route between the source and the destination LatLng's provided.

EasyContainer(
    child: Text("Hello World"),
),

If an onTap, onLongPress etc. parameters are provided, it can be used as a button.

EasyContainer(
    child: Text("Hello World"),
    onTap: () => debugPrint("Hello World"),
),

Want to add some padding/margin/borderRadius?

Padding from all sides can be added by passing padding as a double. If you want to customize padding, then use customPadding which expects EdgeInsets allowing for customization.

If customPadding is passed, padding is ignored.

Same applies for margin and borderRadius.

EasyContainer(
    child: Text("Hello World"),
    onTap: () => debugPrint("Hello World"),
    
    /// Shorthand for EdgeInsets.all(20)
    padding: 20,

    /// if customPadding passed, padding is ignored.
    /// Hence padding applied to container is 10 from all sides.

    customPadding: EdgeInsets.all(10),
),

The default alignment is center. So the container tries to take as much space as possible. To deny the same, you can set the alignment to null or specify height/width.

EasyContainer(
    child: Text("Hello World"),
    onTap: () => debugPrint("Hello World"),

    /// child not longer takes all the available space
    alignment: null,
),

To enable a border, showBorder must be true. Defaults to false.

If showBorder is true, parameters like borderColor, borderWidth, borderStyle come into play.

EasyContainer(
    child: Text("Hello World"),
    onTap: () => debugPrint("Hello World"),
    showBorder: true,
    borderWidth: 5,
    borderColor: Colors.red,
),

Sample Usage

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

void main() => runApp(_MainApp());

class _MainApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: SafeArea(
        child: Scaffold(
          body: Center(
            child: EasyContainer(
              height: 300,
              width: 300,
              child: const CircularProgressIndicator.adaptive(),
              padding: 20,
              elevation: 10,
              onTap: () => debugPrint("Container Tapped"),
              margin: 20,
              borderRadius: 20,
              color: Colors.red,
            ),
          ),
        ),
      ),
    );
  }
}

And a lot more.... There is a lot of customization available which is self explanatory. You can the read the full documentation here.

See the example directory for a complete sample app.

Created & Maintained By Rithik Bhandari #

19
likes
140
pub points
86%
popularity

Publisher

verified publisherrithik-dev.me

An easy to use container for flutter with built in gesture detectors and a lot of customization.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

flutter

More

Packages that depend on easy_container