Convenience extensions to make common Flutter tasks less annoying
Features
Extension | Use-case |
---|---|
FastLocale | Localizations.localeOf(context) |
FastMaterialColor | FastMaterialColor.fromColor(color) |
FastMaterialLocalizations | MaterialLocalizations.of(context) |
FastWidgetStateProperty | Create WidgetStateProperty using a map |
FastMediaQuery | MediaQuery.of(context) |
FastTheme | Theme.of(context) |
Usage
import 'package:fast_extensions/fast_extensions.dart';
import 'package:flutter/material.dart';
void example(BuildContext context) {
// FastLocale
context.countryCode;
context.languageCode;
// FastMaterialColor
final primarySwatch = FastMaterialColor.fromColor(const Color(0xFFBC52CC));
ThemeData(primarySwatch: primarySwatch);
// FastMaterialLocalizations
context.backButtonTooltip;
// FastWidgetStateProperty
final wsp = FastWidgetStateProperty(
{WidgetState.selected: Colors.white},
defaultValue: Colors.black,
);
ThemeData(
segmentedButtonTheme:
SegmentedButtonThemeData(style: ButtonStyle(foregroundColor: wsp)),
);
// FastMediaQuery
context.screenWidth;
context.screenHeight;
context.windowViewInsets;
// FastTheme
context.theme;
context.textTheme;
context.isDarkMode;
// ...
}
Additional information
See fast_ui for more information