Flutter , Light , Early, Making, Material, Environnement
Simplify the writing of your widgets with Flemme
Installation
Add flemme as a dependency in your pubspec.yaml file.
dependencies:flemme:^0.1.0
Get Started
For use Flemme object by following steps :
import'package:flemme/flemme.dart';
Defaut code Flutter Example:
ScaffolddefaultFlutterScaffoldExample() {
returnScaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
constText(
'You have pushed the button this many times:',
),
Text(
'$_counter',
style: Theme.of(context).textTheme.headline4,
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: constIcon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
);
}
Same with Flemme:
ScaffoldflemmeScaffoldExample() {
returnScaffold(
appBar: AppBar(
title: widget.title.toTextWidget(),
),
body: [
'You have pushed the button this many times:'.toTextWidget(),
'$_counter'.toTextWidget(style: Theme.of(context).textTheme.headline4),
].listToColumn(mainAxisAlignment: MainAxisAlignment.center).withCenter(),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: constIcon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
);
}
For all Widget
Create and custom Padding
// default value : EdgeInsets.all(8.0)Padding myPadding = Text('sample').withPadding();
// you can custome like : Padding myPadding = Text('sample').withPadding(padding: EdgeInsets.all(20.0));
//context is necessaryContainer().showHimself(context);
// custom background color, default transparent:Container().showHimself(context, bgColor:Colors.red);
For String
//ellips text with '...' defaut value lenght 140String textShort = 'text too long'.ellipse();
//custom lenght: String textShort = 'text too long'.ellipse(lenght:32);
//Convert quickly String to Text WidgetText myText = 'my sample'.toTextWidget();
// you can custom with every Text parameter
For DateTime
//convert DateTime to short string //String like 10 seconds ago, a minute ago, 7 hours ago, etc. if is before now//String like in 10 seconds , in a minute, in 7 hours, etc. if is after nowString time = DateTime().returnDateSmall();
For List
List<Widget> myList = ['sample'.toTextWidget(),'sample'.toTextWidget(),'sample'.toTextWidget(),'sample'.toTextWidget()];
//Convert list to RowRow myRow = myList.listToRow();
//Convert list to ColumnColumn myRow = myList.listToColumn();
Configure and use default padding
You can use and config default padding.
Call FlemmeConfig() for use and config. It's a single instance, you don't need to put it statically in your code, just call it where you need it. Preferably before your MaterialApp