fluttils 4.0.0
fluttils: ^4.0.0 copied to clipboard
A package that contains utility widgets and functions for Flutter.
fluttils #
fluttils is a package that helps you to write less code in your application by selecting some frequently used patterns and extracting them into new classes or functions, avoiding you having to creating those patterns by yourself or rewriting them every time you develop a new application.
Examples #
- Using
BuildContextextension methods:
void _(BuildContext context, Widget widget) {
// fluttils:
// flutter:
context.pop();
Navigator.of(context).pop();
context.push(widget);
Navigator.of(context).push(MaterialPageRoute((_) => widget));
context.push(widget, replace: true);
Navigator.of(context).pushReplacement(MaterialPageRoute((_) => widget));
context.screenSize;
MediaQuery.of(context).size;
}
- Using
Textwith a list of parameters:
import 'package:fluttils/fluttils.dart' as f;
void _(String label) {
// fluttils:
// flutter:
f.Text(label);
Text(label);
f.Text(label, [Colors.red]);
Text(label, style: TextStyle(color: Colors.red));
f.Text(label, [Colors.white, TextAlign.center, FontWeight.bold]);
Text(label, style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold), textAlign: TextAlign.center);
}
- Using a simplified
Paddingwidget:
import 'package:fluttils/fluttils.dart' as f;
void _(Widget widget) {
// fluttils:
// flutter:
f.Padding(all: 5, child: widget);
Padding(padding: EdgeInsets.all(5), child: widget);
f.Padding(height: 1, width: 3, child: widget);
Padding(padding: EdgeInsets.symmetric(vertical: 1, horizontal: 3), child: widget);
f.Padding(all: 4, left: 2, child: widget);
Padding(padding: EdgeInsets.only(left: 2, right: 4, top: 4, bottom: 4), child: widget);
f.Padding(all: 10, left: 15, height: 20, child: widget);
Padding(padding: EdgeInsets.only(left: 15, right: 10, top: 20, bottom: 20), child: widget);
}
- Using
MapStackas a replacement toStackin basic scenarios:
import 'package:fluttils/fluttils.dart' as f;
void _() {
// fluttils:
// flutter:
f.MapStack({Alignment.center: Text("a")});
Stack(children: [Align(alignment: Alignment.center, child: Text("a"))]);
f.MapStack({
Alignment.topLeft: Icon(Icons.right_arrow),
Alignment.bottomRight: Icon(Icons.add),
});
Stack(children: [
Align(alignment: Alignment.topLeft, child: Icon(Icons.right_arrow)),
Align(alignment: Alignment.bottomRight, child: Icon(Icons.add)),
]);
}
- Using an easier-to-configure
Visibilitywidget:
import 'package:fluttils/fluttils.dart' as f;
void _(Widget widget) {
f.Visibility(visible: false, child: widget);
Visibility(visible: false, child: widget);
f.Visibility(visible: false, child: widget, level: f.VisibilityLevel.state());
Visibility(visible: false, child: widget, maintainState: true);
f.Visibility(visible: false, child: widget, level: f.VisibilityLevel.animation());
Visibility(visible: false, child: widget, maintainState: true, maintainAnimation: true);
f.Visibility(visible: false, child: widget, level: f.VisibilityLevel.size());
Visibility(visible: false, child: widget, maintainState: true, maintainAnimation: true, maintainSize: true);
f.Visibility(visible: false, child: widget, level: f.VisibilityLevel.size(maintainSemantics: true));
Visibility(visible: false, child: widget, maintainState: true, maintainAnimation: true, maintainSize: true, maintainSemantics: true);
}
See the docs for a list of all widgets, functions and extensions provided by the package.