fl_extended library
Classes
- AlignedGridView
- A scrollable, 2D array of widgets placed according to the aligned layout.
- BezierBackground
- Bezier curve background.
- BezierCircleHeader
- Bezier circle footer. https://dribbble.com/shots/1797373-Pull-Down-To-Refresh
- Bezier footer.
- BezierHeader
- Bezier header.
- BottomSheetOptions
- BText
- BTextStyle
- Build footer widget use IndicatorBuilder.
- BuilderHeader
- Build header widget use IndicatorBuilder.
-
ChangedBuilder<
T> - Classic footer.
- ClassicHeader
- Classic header.
- Cupertino footer. https://github.com/THEONE10211024/WaterDropListView
- CupertinoHeader
- Cupertino header. https://github.com/THEONE10211024/WaterDropListView
- CupertinoListWheelScrollView
- CupertinoModalPopupOptions
-
CustomFutureBuilder<
T> - 自定义版 FutureBuilder
-
CustomStreamBuilder<
T> - 自定义版 StreamBuilder
- DecoratorBox
- Widget 装饰器
- DecoratorBoxState
- Widget 装饰器 动态焦点样式
- DecoratorBoxStyle
- DecoratorEntry
- Delivery footer. https://dribbble.com/shots/2753803-Refresh-your-delivery
- DeliveryHeader
- Delivery footer. https://dribbble.com/shots/2753803-Refresh-your-delivery
- DialogOptions
- 关闭 closePopup
- DoubleChooseWindows
- EasyRefresh
- A flutter widget that provides pull-down refresh and pull-up load.
- EasyRefreshController
- Controls a EasyRefresh widget. Control refresh, loading and indicator states.
- EasyRefreshData
- EasyRefresh needs to share data
- EasyRefreshed
- ERScrollBehavior
- Define ScrollBehavior in the scope of EasyRefresh. Add support for web and PC.
-
ExtendedFutureBuilder<
T> - 扩展 FutureBuilder
-
ExtendedListenableBuilder<
T extends Listenable> - Example:
- ExtendedOverlay
- ExtendedOverlayEntry
- ExtendedPopScope
- ExtendedSliverPersistentHeader
- 初始化 delegate 参数
- ExtendedSliverPersistentHeaderDelegate
- SliverPersistentHeader 固定
-
ExtendedState<
T extends StatefulWidget> - ExtendedStatefulBuilder
- StatefulBuilder 扩展
- ExtendedStatefulWidget
-
ExtendedStatefulWidgetState<
T extends ExtendedStatefulWidget> -
ExtendedStreamBuilder<
T> - 扩展 StreamBuilder
- ExtendedTextField
- FlAnimation
- FlExtended
- FlExtendedIcons
- icons
- Footer indicator.
- Find Footer's Location Put the last item in the list it will smartly show Footer
- Footer notifier Footer status and Notifications
- GeneralModalOptions
- Header
- Header indicator.
- HeaderLocator
- Find Header's Location Put the first item in the list it will smartly show Header
- HeaderNotifier
- Header notifier Header status and Notifications
- IconBox
- Indicator
- Refresh and loading indicator. Indicator configuration and widget builder.
- IndicatorNotifier
- Indicator data and trigger notification.
- IndicatorState
- Indicator properties and state.
- IndicatorStateListenable
- Indicator state listenable.
- InputBorderStyle
- 按回车时调用 先调用此方法 然后调用onSubmitted方法 final VoidCallback? onEditingComplete; final ValueCallback
- Listener footer. Listen to the indicator state and respond anywhere.
- ListenerHeader
- Listener header. Listen to the indicator state and respond anywhere.
- ListWheel
- ListWheelState
- 解决父组件重新 build 时 改变子元素长度后显示异常问题 添加支持初始位置
- Loading
- LoadingContent
- LoadingOptions
- LoadingProgressIndicator
- MasonryGridView
- A scrollable, 2D array of widgets placed according to the masonry layout.
- Material footer.
- MaterialHeader
- Material header.
- ModalBox
- 模态框背景
- ModalBoxOptions
- ModalOptions
- NoScrollBehavior
- Parameters when EasyRefresh.onLoad is null. Overscroll behavior of ScrollView.
- NotRefreshHeader
- Parameters when EasyRefresh.onRefresh is null. Overscroll behavior of ScrollView.
- NumberLimitFormatter
- 数字输入的精确控制
- Override the Footer parameter. First of all you have to make it clear that this is feasible, otherwise please don't use it.
- OverrideHeader
- Override the Header parameter. First of all you have to make it clear that this is feasible, otherwise please don't use it.
- PageRouteOptions
- page route
- Phoenix footer. https://github.com/Yalantis/Phoenix
- PhoenixHeader
- Phoenix header. https://github.com/Yalantis/Phoenix
- QuiltedGridRepeatPattern
- Defines how a pattern is repeating.
- QuiltedGridTile
- A tile for SliverQuiltedGridDelegate.
- RefreshConfig
- RefreshControllers
- RefreshScrollView
- 可刷新的滚动组件 嵌套 sliver 家族组件
- RenderSliverMasonryGrid
- A sliver that places multiple box children in a two dimensional arrangement.
- RenderSliverPinnedToBoxAdapter
- RText
- RichText 魔改版 建议使用 BText.rich,动态配置字体颜色
- ScrollList
- Secondary builder footer.
- SecondaryBuilderHeader
- Secondary builder header.
- Secondary footer. Combine existing Footer with secondary.
- SecondaryHeader
- Secondary header. Combine existing Header with secondary.
- SliverAlignedGrid
- A sliver that places multiple box children in a two dimensional arrangement.
- SliverListGrid
- 组合SliverList、SliverGrid、SliverFixedExtentList、SliverPrototypeExtentList、SliverMasonryGrid、SliverAlignedGrid
- SliverMasonryGrid
- A sliver that places multiple box children in a two dimensional arrangement.
- SliverMasonryGridParentData
- Parent data structure used by RenderSliverMasonryGrid.
- SliverPinnedToBoxAdapter
- SliverQuiltedGridDelegate
- Controls the layout of a quilted grid.
- SliverSimpleGridDelegate
- Controls the layout of tiles in a some slivers.
- SliverSimpleGridDelegateWithFixedCrossAxisCount
- Creates grid layouts with a fixed number of tiles in the cross axis.
- SliverSimpleGridDelegateWithMaxCrossAxisExtent
- Creates grid layouts with tiles that each have a maximum cross-axis extent.
- SliverStairedGridDelegate
- Controls the layout of tiles in a staired grid.
- SliverWovenGridDelegate
- Controls the layout of tiles in a woven grid.
- StaggeredGrid
- A grid which lays out children in a staggered arrangement. Each child can have a different size. Wrap your children with a StaggeredGridTile to specify their size if it's different from a 1x1 tile.
- StaggeredGridTile
- Represents the size of a StaggeredGrid's tile.
- StairedGridTile
- A tile of a staired pattern.
- SystemUiOverlayStyleDark
- SystemUiOverlayStyleLight
- TabBarBox
- TabBarMerge
- TabBar和TabBarView 外层添加 常用属性
- Taurus footer. https://github.com/Yalantis/Taurus
- TaurusHeader
- Taurus header. https://github.com/Yalantis/Taurus
- Toast
- ToastContent
- toast 文字和icon
- ToastOptions
- UnifiedButton
- Universal
-
ValueBuilder<
T> - Example:
-
ValueListenBuilder<
T> - Example:
-
ValueNotifiers<
T> - WheelOptions
- WovenGridTile
- A tile of a woven pattern.
Enums
- BorderType
- BuilderState
- DateTimeDist
- DecoratorPositioned
- EasyRefreshType
- 刷新类型
- FlAnimationStyle
- GridStyle
- IndicatorMode
- The current state of the indicator (Header or Footer).
- IndicatorPosition
- The position of the indicator.
- IndicatorResult
- The status returned after the task is completed.
- LoadingStyle
- PopupFromStyle
- 弹窗进入方向属性
- RoutePushStyle
- TabBarLevelPosition
- TabBarLevel 位置
- TextInputLimitFormatter
- ToastIconStyle
-
Toast类型
如果使用custom 请设置
customIcon
- UnifiedButtonCategory
Extensions
- ExtensionBool on bool
- ExtensionColor on Color
- ExtensionContext on BuildContext
- ExtensionContextWithMediaQuery on BuildContext
- ExtensionDateTime on DateTime
- DateTime 扩展
- ExtensionDoubleChooseWindows on DoubleChooseWindows
- ExtensionDuration on Duration
- ExtensionFocusScopeContext on BuildContext
- ExtensionFunction on Function
- ExtensionFutureFunction on Future Function()
-
ExtensionGlobalKey
on GlobalKey<
State< StatefulWidget> > - ExtensionInt on int
- int 扩展
-
ExtensionIterableDouble
on Iterable<
double> -
ExtensionIterableE
on Iterable<
E> - Utility extension methods for the native Iterable class.
-
ExtensionIterableInt
on Iterable<
int> -
ExtensionIterableNum
on Iterable<
E> - Utility extension methods for Iterables containing nums.
-
ExtensionIterableT
on Iterable<
T> -
ExtensionList
on List<
T> -
ExtensionListString
on List<
String> - ExtensionListUnsafe on List?
- ExtensionLoading on Loading
-
ExtensionMap
on Map<
K, V> - ExtensionMapUnsafe on Map?
- ExtensionNum on num
- num 扩展
- ExtensionSize on Size
- ExtensionString on String
- String 扩展
- ExtensionStringUnsafe on String?
- ExtensionT on T
- ExtensionTextEditingController on TextEditingController
- ExtensionToast on Toast
- ExtensionUint8List on Uint8List
- ExtensionWidget on Widget
- ExtensionWidgetMethod on Widget
Constants
- kBezierBackgroundDisappearDuration → const Duration
- Default disappear animation duration.
- kBezierCircleDisappearDuration → const Duration
- kDefaultSecondaryCloseTriggerOffset → const double
- The default secondary close trigger offset.
- kDefaultSecondaryVelocity → const double
- The default opening speed of the secondary.
- kDeliveryDisappearDuration → const Duration
- Delivery indicator disappear animation duration.
- kDeliveryTriggerOffset → const double
- Delivery indicator trigger offset.
- kFlAnimationDuration → const Duration
- kTaurusDisappearDuration → const Duration
- Taurus indicator disappear animation duration.
Properties
- isAndroid → bool
-
no setter
- isDebug → bool
-
no setter
- isDesktop → bool
-
no setter
- isFuchsia → bool
-
no setter
- isIOS → bool
-
no setter
- isLinux → bool
-
no setter
- isMacOS → bool
-
no setter
- isMobile → bool
-
no setter
- isProfile → bool
-
no setter
- isRelease → bool
-
no setter
- isWeb → bool
-
no setter
- isWindows → bool
-
no setter
Functions
-
addObserver(
WidgetsBindingObserver observer) → void -
addPersistentFrameCallback(
FrameCallback duration) → void -
addPostFrameCallback(
FrameCallback duration) → void -
addTimingsCallback(
TimingsCallback callback) → void -
closeAllOverlay(
) → void - 关闭所有Overlay
-
closeLoading(
) → bool -
closeOverlay(
{ExtendedOverlayEntry? entry}) → bool - 关闭最顶层的Overlay
-
closePopup(
[dynamic value]) → Future< bool> - 关闭弹窗 也可以通过 Navigator.of(context).maybePop()
-
closeToast(
) → bool -
kBezierFrictionFactor(
double overscrollFraction) → double - Friction factor used by bezier curves.
-
kBezierHorizontalFrictionFactor(
double overscrollFraction) → double - Horizontal friction factor used by bezier curves.
-
kBezierSpringBuilder(
{required IndicatorMode mode, required double offset, required double actualTriggerOffset, required double velocity}) → SpringDescription - Spring used by bezier curves.
-
kCupertinoFrictionFactor(
double overscrollFraction) → double -
kCupertinoHorizontalFrictionFactor(
double overscrollFraction) → double -
kDefaultSemanticIndexCallback(
Widget _, int localIndex) → int -
kMaterialFrictionFactor(
double overscrollFraction) → double - Friction factor used by material.
-
kMaterialHorizontalFrictionFactor(
double overscrollFraction) → double - Friction factor used by material horizontal.
-
kMaterialSpringBuilder(
{required IndicatorMode mode, required double offset, required double actualTriggerOffset, required double velocity}) → SpringDescription - Spring description used by material.
-
log<
T> (T msg) → void -
maybePop<
T extends Object> ([T? result]) → Future< bool> - 可能返回到上一个页面
-
pop<
T extends Object> ([T? result, bool isMaybe = false]) → Future< bool?> - 返回上一个页面
-
popBack(
bool nullBack = false, bool useMaybePop = false}) → void -
pop 返回简写 带参数
nullBack
=true navigator 返回为空 就继续返回上一页面 -
popUntil(
RoutePredicate predicate) → void - 循环pop 直到pop至指定页面
-
push<
T extends Object?, TO extends Object?> (Widget widget, {bool maintainState = true, bool fullscreenDialog = false, RoutePushStyle? pushStyle, RouteSettings? settings, bool allowSnapshotting = true, bool barrierDismissible = false, TO? result}) → Future< T?> - 打开新页面
-
pushAndRemoveUntil<
T extends Object?> (Widget widget, {bool maintainState = true, bool fullscreenDialog = false, RoutePushStyle? pushStyle, RouteSettings? settings, RoutePredicate? predicate}) → Future< T?> - 打开新页面 并移出堆栈所有页面
-
pushReplacement<
T extends Object?, TO extends Object?> (Widget widget, {bool maintainState = true, bool fullscreenDialog = false, RoutePushStyle? pushStyle, RouteSettings? settings, TO? result}) → Future< T?> - 打开新页面替换当前页面
-
removeObserver(
WidgetsBindingObserver observer) → void -
showLoading(
{Widget? custom, LoadingBuilder? builder, LoadingOptions? options, Widget? extra, LoadingProgressIndicator? progressIndicator, LoadingStyle? style}) → ExtendedOverlayEntry? - loading 加载框 关闭 closeLoading();
-
showMenuPopup<
T> ({required RelativeRect position, required List< PopupMenuEntry< items, T? initialValue, double? elevation, String? semanticLabel, ShapeBorder? shape, Color? color, }) → Future<T> >T?> -
showSnackBar(
SnackBar snackBar) → ScaffoldFeatureController< SnackBar, SnackBarClosedReason> ? -
showToast(
String message, {ToastIconStyle? iconStyle, FlAnimationStyle? animationStyle, Duration? animationDuration, TextStyle? textStyle, Duration? duration, BoxDecoration? decoration, GestureTapCallback? onToastTap, ToastBuilder? builder, ToastOptions? options}) → Future< ExtendedOverlayEntry?> - Toast 关闭 closeToast(); 添加 await Toast 关闭后继续执行之后的方法
-
when<
T> (Map< bool, ValueGetter< conditionMap) → T?T> > -
English: The when function of the Kotlin version of the method
switch
.
As long as the first true is found in Map.keys ofconditionMap
, its corresponding ValueGetter method will be executed immediately and the relative value will be returned.
If it is not found, it will return null; if you need a default value, you can add a MapEntry with a key equal to true at the end of the Map -
whenTrue<
T> (Map< ValueGetter< conditionMap) → T?bool> , ValueGetter<T> > -
English: The when function of the Kotlin version of the method
switch
,its conditional expression will be calculated。.
As long asconditionMap
to Map.keys appears first execution result is true, it will immediately perform corresponding ValueGetter method, and an opposite return value.
If it is not found, it will return null; if you need a default value, you can add a MapEntry with a key equal to true at the end of the Map -
whenValue<
V, T> (V value, Map< V, ValueGetter< conditionMap) → T?T> > -
English: The super evolution version💖💖💖 of
switch
method, all basic types of values can be compared, including List, Map, Set, and Iterable.
All need do isvalue
in Map.keys ofconditionMap
, its corresponding ValueGetter method will be executed
Typedefs
-
AsyncSnapshotBuilder<
T> = Widget Function(BuildContext context, T data) - BezierSpinBuilder = Widget Function(BuildContext context, double value)
-
A builder that builds a spin widget.
context
BuildContext.value
Animation value. - Callback = void Function()
- ******** Callback Zero ******** /// Callback Zero
-
CallbackFuture
= Future<
void> Function() - Future Callback Zero
-
CallbackFutureT<
T> = Future< T> Function() - Future Callback Zero
-
CallbackT<
T> = T Function() - Callback Zero
- CanProcessCallBack = bool Function()
- Indicator widget builder.
-
ChangedBuilderWidget<
T> = Widget Function(T value, ValueChanged< T> onChanged) - CIMessageBuilder = Widget Function(BuildContext context, IndicatorState state, String text, DateTime dateTime)
- Message widget builder.
- CIPullIconBuilder = Widget Function(BuildContext context, IndicatorState state, double animation)
- Pull icon widget builder.
- CITextBuilder = Widget Function(BuildContext context, IndicatorState state, String text)
- Text widget builder.
- CustomBuilderContext = Widget Function(BuildContext context)
- DecoratorBoxStateBuilder = Widget Function(FocusNode focusNode)
- EasyRefreshControllerCallback = void Function(EasyRefreshController controller)
- ERChildBuilder = Widget Function(BuildContext context, ScrollPhysics physics)
- EasyRefresh child builder. Provide ScrollPhysics, and use it in your ScrollView. ScrollPhysics will not be scoped.
- ERScrollBehaviorBuilder = ScrollBehavior Function(ScrollPhysics? physics)
-
ExtendedTextFieldBuilder
= Widget Function(TextInputType keyboardType, List<
TextInputFormatter> inputFormatters, Widget? suffix, Widget? prefix) - FlAnimationCallback = void Function(Function running)
- FrictionFactor = double Function(double overscrollFraction)
- The multiple applied to overscroll to make it appear that scrolling past the edge of the scrollable contents is harder than scrolling the list. This is done by reducing the ratio of the scroll effect output vs the scroll gesture input.
- IndicatorBuilder = Widget Function(BuildContext context, IndicatorState state)
- Indicator widget builder.
- ListWheelStateBuilder = ListWheel Function(FixedExtentScrollController controller)
- LoadingBuilder = Widget? Function(BuildContext context, LoadingContent content)
- ModeChangeListener = void Function(IndicatorMode mode, double offset)
- Mode change listener.
- PopInvokedWithOverlayCallback = void Function(bool didPop, bool didCloseOverlay)
- SecondaryIndicatorBuilder = Widget Function(BuildContext context, IndicatorState state, Indicator indicator)
- Secondary indicator widget builder.
- SpringBuilder = SpringDescription Function({required double actualTriggerOffset, required IndicatorMode mode, required double offset, required double velocity})
-
Build spring with IndicatorMode and offset.
mode
Indicator mode.offset
Indicator offset.actualTriggerOffset
Indicator actual trigger offset.velocity
Indicator actual trigger offset. - ToastBuilder = Widget? Function(BuildContext context, ToastContent content)
-
ValueBuilderCallback<
T> = Widget Function(BuildContext context, T? value, ValueCallback< T> updater) -
ValueCallback<
V> = void Function(V value) - Callback One
-
ValueCallbackFuture<
V> = Future< void> Function(V value) - Future Callback One
-
ValueCallbackFutureT<
T> = Future< T> Function(T value) - Future Callback One
-
ValueCallbackFutureTV<
T, V> = Future< T> Function(V value) - Future Callback One
-
ValueCallbackT<
T> = T Function(T value) - ******** Callback One ******** /// Callback One
-
ValueCallbackTV<
T, V> = T Function(V value) - Callback One
-
ValueFourCallback<
V1, V2, V3, V4> = void Function(V1 value1, V2 value2, V3 value3, V4 value4) - ******** Callback Four ******** /// Callback Four
-
ValueFourCallbackFuture<
V1, V2, V3, V4> = Future< void> Function(V1 value1, V2 value2, V3 value3, V4 value4) - Future Callback Four
-
ValueFourCallbackFutureT<
T, V1, V2, V3, V4> = Future< T> Function(V1 value1, V2 value2, V3 value3, V4 value4) - Future Callback Four T
-
ValueFourCallbackT<
T, V1, V2, V3, V4> = T Function(V1 value1, V2 value2, V3 value3, V4 value4) - Callback Four T
-
ValueThreeCallback<
V1, V2, V3> = void Function(V1 value1, V2 value2, V3 value3) - ******** Callback Three ******** /// Callback Three
-
ValueThreeCallbackFuture<
V1, V2, V3> = Future< void> Function(V1 value1, V2 value2, V3 value3) - Future Callback Three
-
ValueThreeCallbackFutureT<
T, V1, V2, V3> = Future< T> Function(V1 value1, V2 value2, V3 value3) - Future Callback Three T
-
ValueThreeCallbackT<
T, V1, V2, V3> = T Function(V1 value1, V2 value2, V3 value3) - Callback Three T
-
ValueTwoCallback<
V1, V2> = void Function(V1 value1, V2 value2) - ******** Callback Two ******** /// Callback Two
-
ValueTwoCallbackFuture<
V1, V2> = Future< void> Function(V1 value1, V2 value2) - Callback Two T
-
ValueTwoCallbackFutureT<
T, V1, V2> = Future< T> Function(V1 value1, V2 value2) - Future Callback Two T
-
ValueTwoCallbackT<
T, V1, V2> = T Function(V1 value1, V2 value2) - Future Callback Two
-
ValueWaitChanged<
T> = Future< T> Function(T value)