LanguageSwitcher class

LanguageSwitcher is a widget that allows you to switch languages in your app. You can use it in the AppBar or as a bottom sheet modal using the showBottomModal method. Example:

LanguageSwitcher()
// or
LanguageSwitcher.showBottomModal(context);

You can also use the LanguageSwitcher.currentLanguage method to get the current language. Example:

Map<String, dynamic>? lang = await LanguageSwitcher.currentLanguage();

You can also use the LanguageSwitcher.storeLanguage method to store the language. Example:

LanguageSwitcher.storeLanguage(object: {"en": "English"});
Inheritance
Available extensions

Constructors

LanguageSwitcher({Key? key, Widget? icon, Color? iconEnabledColor, Color? dropdownBgColor, dynamic onLanguageChange(Map<String, dynamic> language)?, Widget? hint, double itemHeight = kMinInteractiveDimension, Widget dropdownBuilder(Map<String, dynamic> language)?, AlignmentGeometry dropdownAlignment = AlignmentDirectional.centerStart, dynamic dropdownOnTap()?, EdgeInsetsGeometry? padding, dynamic onTap()?, BorderRadius? borderRadius, double iconSize = 24, int elevation = 8, String langPath = 'lang', TextStyle? textStyle, LanguageSwitcherAnimationStyle animationStyle = const LanguageSwitcherAnimationStyle()})
const

Properties

animationStyle → LanguageSwitcherAnimationStyle
final
borderRadius → BorderRadius?
final
final
final
final
final
elevation → int
final
hashCode → int
The hash code for this object.
no setterinherited
hint → Widget?
final
icon → Widget?
final
iconEnabledColor → Color?
final
iconSize → double
final
itemHeight → double
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
langPath → String
final
onLanguageChange → dynamic Function(Map<String, dynamic> language)?
final
onTap → dynamic Function()?
final
padding → EdgeInsetsGeometry?
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
textStyle → TextStyle?
final

Methods

connectiveOr({required Widget offline}) → Widget

Available on Widget, provided by the ConnectiveExtension extension

Wraps the widget in a Connective that shows an offline placeholder.
createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → State<StatefulWidget>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
faderBottom({double strength = 0.2, Color color = Colors.black}) → FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the bottom of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderFrom({double strength = 0.2, Color color = Colors.black, AlignmentGeometry begin = Alignment.topCenter, AlignmentGeometry end = Alignment.bottomCenter}) → FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader with custom alignment. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderLeft({double strength = 0.2, Color color = Colors.black}) → FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the left of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderRight({double strength = 0.2, Color color = Colors.black}) → FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the right of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderTop({double strength = 0.2, Color color = Colors.black}) → FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the top of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
flexible({Key? key, int flex = 1, FlexFit fit = FlexFit.loose}) → Flexible

Available on StatefulWidget, provided by the NyStatefulExt extension

Make a StatefulWidget Flexible.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onlyOffline() → Widget

Available on Widget, provided by the ConnectiveExtension extension

Only shows the widget when offline, otherwise shows nothing.
onlyOnline() → Widget

Available on Widget, provided by the ConnectiveExtension extension

Only shows the widget when online, otherwise shows nothing.
paddingOnly({double left = 0.0, double top = 0.0, double right = 0.0, double bottom = 0.0}) → Padding

Available on StatefulWidget, provided by the NyStatefulExt extension

Add padding to the widget.
paddingSymmetric({double horizontal = 0.0, double vertical = 0.0}) → Padding

Available on StatefulWidget, provided by the NyStatefulExt extension

Add symmetric padding to the widget.
pullable({required Future<void> onRefresh()?, PullableConfig? pullableConfig}) → Widget

Available on Widget, provided by the NyWidgetExt extension

Make a widget pullable using the Pullable widget.
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toSkeleton({Key? key, bool? ignoreContainers, bool? justifyMultiLineText, Color? containersColor, bool ignorePointers = true, bool enabled = true, PaintingEffect? effect, TextBoneBorderRadius? textBoneBorderRadius}) → Skeletonizer

Available on Widget, provided by the NyWidgetExt extension

Make a widget a skeleton using the Skeletonizer package.
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) → String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String
Returns a one-line detailed description of the object.
inherited
toStringShort() → String
A short, textual description of this widget.
inherited
visibleWhen(bool condition) → Widget

Available on StatefulWidget, provided by the NyStatefulExt extension

Make a widget visible when a condition is true.

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Properties

state ↔ String
getter/setter pair

Static Methods

clearLanguage({String? key}) → Future
Clear the language from the storage
currentLanguage({String? key}) → Future<Map<String, dynamic>?>
Get the current language
getFlagEmoji(String localeCode) → String
Get flag emoji for a locale code
getLanguageData(String localeCode) → Map<String, String>?
Get the language data
getLanguageList({String langPath = 'lang'}) → Future<List<Map<String, String>>>
Get language list
showBottomModal(BuildContext context, {double? height, Color? backgroundColor, Color? handleColor, Color? selectedColor, TextStyle? titleStyle, TextStyle? languageTextStyle, BorderRadius? borderRadius, dynamic onLanguageChange(String language)?, LanguageSwitcherAnimationStyle? animationStyle, bool useRootNavigator = false}) → Future<void>
Show a bottom modal to switch languages
stateActions([String? stateName]) → LanguageSwitcherStateActions
Returns a LanguageSwitcherStateActions instance for the given stateName.
storeLanguage({String? key, Map<String, dynamic>? object}) → Future
Store the language in the storage