Extensions topic
Extending Flutter's Capabilities
These extensions alone would be reason enough to use the Fluttery Framework. Thanks to Jonny Borges (author of GetX), under the MIT License, I've incorporated many of his tried and true extensions.
Context | Double | Duration | Dynamic | Number | String | Widget |
Context
import 'package:fluttery_framework_example/src/view.dart';
Widget build(BuildContext context) {
context.mediaQuerySize;
context.height;
context.width;
context.heightTransformer();
context.widthTransformer();
context.ratio();
context.theme;
context.isDarkMode;
context.iconColor;
context.textTheme;
context.mediaQueryPadding;
context.mediaQuery;
context.mediaQueryViewPadding;
context.mediaQueryViewInsets;
context.orientation;
context.isLandscape;
context.isPortrait;
context.devicePixelRatio;
context.textScaleFactor;
context.mediaQueryShortestSide;
context.showNavbar;
context.isPhone;
context.isSmallTablet;
context.isLargeTablet;
context.isTablet;
context.responsiveValue<String>(
mobile: 'mobile',
tablet: 'tablet',
desktop: 'desktop',
watch: 'watch',
);
Double
1.21643.toPrecision(2);
Duration
2.seconds.delay(() async {});
Dynamic
' '.isBlank;
Number
123.isLowerThan(12);
123.isGreaterThan(12);
123.isEqual(12);
2.delay(() {});
100.milliseconds;
2.seconds;
3.minutes;
0.3.hours;
.5.days;
String
'123'.isNum;
'123'.isNumericOnly;
'123'.isAlphabetOnly;
'123'.isBool;
'123'.isVectorFileName;
'123'.isImageFileName;
'123'.isAudioFileName;
'123'.isVideoFileName;
'123'.isTxtFileName;
'123'.isDocumentFileName;
'123'.isExcelFileName;
'123'.isPPTFileName;
'123'.isAPKFileName;
'123'.isPDFFileName;
'123'.isHTMLFileName;
'123'.isURL;
'123'.isEmail;
'123'.isPhoneNumber;
'123'.isDateTime;
'123'.isMD5;
'123'.isSHA1;
'123'.isSHA256;
'123'.isBinary;
'123'.isIPv4;
'123'.isIPv6;
'123'.isHexadecimal;
'123'.isPalindrom;
'123'.isPassport;
'123'.isCurrency;
'123'.isCpf;
'123'.isCnpj;
'123'.isCaseInsensitiveContains('2');
'123'.isCaseInsensitiveContainsAny('2');
'123'.capitalize;
'123'.capitalizeFirst;
'123'.removeAllWhitespace;
'camelCase'.camelCase;
'123'.paramCase;
'123'.numericOnly();
'123'.createPath();
'123'.capitalizeAllWordsFirstLetter();
Widget
const widget = SizedBox();
widget.paddingAll(2);
widget.paddingSymmetric(horizontal: 2, vertical: 2);
widget.paddingOnly(left: 1, top: 2, right: 3, bottom: 4);
widget.paddingZero;
widget.marginAll(2);
widget.marginSymmetric();
widget.marginOnly();
widget.marginZero;
Extensions
- ContextExtension on BuildContext Extensions
- An extension on BuildContext
- ContextExtension on BuildContext Extensions
- An extension on BuildContext
- ContextExtension on BuildContext Extensions
- An extension on BuildContext
- GetDurationUtils on Duration Extensions
- Duration utilities.
- GetDurationUtils on Duration Extensions
- Duration utilities.
- GetDurationUtils on Duration Extensions
- Duration utilities.
- GetDynamicUtils on dynamic Extensions
- dartdoc:
- GetDynamicUtils on dynamic Extensions
- dartdoc:
- GetDynamicUtils on dynamic Extensions
- dartdoc:
- GetNumUtils on num Extensions
- dartdoc:
- GetNumUtils on num Extensions
- dartdoc:
- GetNumUtils on num Extensions
- dartdoc:
- GoRouterExtension on BuildContext Extensions
- Supply a reference to the GoRouter itself.
- GoRouterExtension on BuildContext Extensions
- Supply a reference to the GoRouter itself.
- GoRouterExtension on BuildContext Extensions
- Supply a reference to the GoRouter itself.
- Precision on double Extensions
- Provide the precision to the double object
- Precision on double Extensions
- Provide the precision to the double object
- Precision on double Extensions
- Provide the precision to the double object
- StringUtils on String Extensions
- dartdoc:
- StringUtils on String Extensions
- dartdoc:
- StringUtils on String Extensions
- dartdoc:
- WidgetMarginX on Widget Extensions
- Add margin property to widget
- WidgetMarginX on Widget Extensions
- Add margin property to widget
- WidgetMarginX on Widget Extensions
- Add margin property to widget
- WidgetPaddingX on Widget Extensions
- add Padding Property to widget
- WidgetPaddingX on Widget Extensions
- add Padding Property to widget
- WidgetPaddingX on Widget Extensions
- add Padding Property to widget
- WidgetSliverBoxX on Widget Extensions
- Allows you to insert widgets inside a CustomScrollView
- WidgetSliverBoxX on Widget Extensions
- Allows you to insert widgets inside a CustomScrollView
- WidgetSliverBoxX on Widget Extensions
- Allows you to insert widgets inside a CustomScrollView