entao_hare
library
Functions
-
addAction(VoidCallback onTap, {String? tooltip})
→ Widget
-
-
AsyncBuilder<T>({required Future<T> future, required Widget builder(BuildContext, T), Widget waiting(BuildContext)?, Widget failed(BuildContext)?, T? initValue})
→ Widget
-
-
builderWidget(WidgetBuilder b, {Key? key})
→ Builder
-
-
ButtonGroup(BuildContext context, {required List<String> items, String? selected, required void onChange(String item)})
→ Widget
-
-
CheckboxB(Binder<bool?> binder, {Key? key, bool tristate = false, MouseCursor? mouseCursor, Color? activeColor, WidgetStateProperty<Color?>? fillColor, Color? checkColor, Color? focusColor, Color? hoverColor, WidgetStateProperty<Color?>? overlayColor, double? splashRadius, MaterialTapTargetSize? materialTapTargetSize, VisualDensity? visualDensity, FocusNode? focusNode, bool autofocus = false, OutlinedBorder? shape, BorderSide? side, bool isError = false, String? semanticLabel})
→ Checkbox
-
-
ChipAction(String label, Icon? icon, VoidCallback onPressed)
→ Widget
-
-
ChipCheckGroupB<T>(Binder<Set<T>> binder, {required Iterable<T> items, required OnWidget<T> onLabel, bool allowEmpty = true, Axis direction = Axis.horizontal, WrapAlignment alignment = WrapAlignment.start, double spacing = 8, WrapAlignment runAlignment = WrapAlignment.start, double runSpacing = 8, WrapCrossAlignment crossAxisAlignment = WrapCrossAlignment.start, TextDirection? textDirection, VerticalDirection verticalDirection = VerticalDirection.down, Clip clipBehavior = Clip.none, Widget? avatar, TextStyle? labelStyle, EdgeInsetsGeometry? labelPadding, double? pressElevation, Color? selectedColor = Colors.blueAccent, Color? disabledColor, String? tooltip, BorderSide? side, OutlinedBorder? shape, FocusNode? focusNode, bool autofocus = false, WidgetStateProperty<Color?>? color, Color? backgroundColor, EdgeInsetsGeometry? padding, VisualDensity? visualDensity})
→ Wrap
-
-
ChipRadioGroupB<T>(Binder<T?> binder, {required Iterable<T> items, required OnWidget<T> onLabel, bool allowEmpty = true, Axis direction = Axis.horizontal, WrapAlignment alignment = WrapAlignment.start, double spacing = 8, WrapAlignment runAlignment = WrapAlignment.start, double runSpacing = 8, WrapCrossAlignment crossAxisAlignment = WrapCrossAlignment.start, TextDirection? textDirection, VerticalDirection verticalDirection = VerticalDirection.down, Clip clipBehavior = Clip.none, Widget? avatar, TextStyle? labelStyle, EdgeInsetsGeometry? labelPadding, double? pressElevation, Color? selectedColor = Colors.blueAccent, Color? disabledColor, String? tooltip, BorderSide? side, OutlinedBorder? shape, FocusNode? focusNode, bool autofocus = false, WidgetStateProperty<Color?>? color, Color? backgroundColor, EdgeInsetsGeometry? padding, VisualDensity? visualDensity})
→ Wrap
-
-
CirclePoint({required double size, required Color color, String? text, Color? textColor, double? fontSize})
→ Widget
-
-
ColumnMax(List<Widget> children, {MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start, CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center, TextBaseline? textBaseline, double spacing = 0.0})
→ Column
-
-
ColumnMaxStretch(List<Widget> children, {MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start})
→ Column
-
-
ColumnMin(List<Widget> children, {MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start, CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center, TextBaseline? textBaseline, double spacing = 0.0})
→ Column
-
-
ColumnMinStretch(List<Widget> children, {MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start, double spacing = 0.0})
→ Column
-
-
DarkThemeData({required Color seed, bool useMaterial3 = false})
→ ThemeData
-
-
deleteAction(VoidCallback onTap, {String? tooltip})
→ Widget
-
-
DeleteChipAction(VoidCallback onPressed)
→ Widget
-
-
DoubleValidator({double? minValue, double? maxValue, bool allowEmpty = true, String? message})
→ TextValidator
-
-
edges({double? left, double? top, double? right, double? bottom, double? hor, double? ver, double? all})
→ EdgeInsets
-
-
EditArea({Key? key, TextEditingController? controller, String? initialValue, String? label, String? hint, int? minLength, int maxLength = 256, bool allowEmpty = true, OnValue<String>? onSubmitted, Widget? prefixIcon, String? helperText, String? errorText, Widget? suffixIcon, Color? cursorColor, TextValidator? validator, List<TextInputFormatter>? inputFormatters, FocusNode? focusNode, bool autofocus = false, int? maxLines = 6, int? minLines = 3, bool readonly = false, InputDecoration? decoration, void onChanged(String)?, void onTapOutside(PointerDownEvent)?})
→ TextFormField
-
-
EditDouble({Key? key, TextEditingController? controller, OptionalValueListener<double>? valueListener, double? initialValue, double? minValue, double? maxValue, bool signed = true, bool allowEmpty = true, void onSubmitted(String)?, void onChanged(String)?, String? label, String? hint, Widget? prefixIcon, String? helperText, String? errorText, int? maxLength, bool clear = false, Widget? suffixIcon, FocusNode? focusNode, Color? cursorColor, TextInputType? keyboardType, TextInputAction? textInputAction = TextInputAction.next, InputDecoration? decoration, InputBorder? border})
→ Widget
-
-
EditInt({Key? key, OptionalValueListener<int>? valueListener, TextEditingController? controller, int? initialValue, int? minValue, int? maxValue, bool signed = true, bool allowEmpty = true, void onSubmitted(String)?, void onChanged(String)?, String? label, String? hint, Widget? prefixIcon, String? helperText, String? errorText, int? maxLength, bool clear = false, Widget? suffixIcon, FocusNode? focusNode, Color? cursorColor, TextInputType? keyboardType, TextInputAction? textInputAction = TextInputAction.next, InputDecoration? decoration, InputBorder? border})
→ Widget
-
-
EditPassword({Key? key, required ValueListener<bool> eyeListener, ValueListener<String>? valueListener, TextEditingController? controller, String? initialValue, int minLength = 1, int maxLength = 128, String? label = "密码", String? errorText, String? hint, OnValue<String>? onChanged, OnValue<String>? onSubmitted, List<TextInputFormatter>? inputFormatters, FocusNode? focusNode, Color? cursorColor, Widget? prefixIcon = const Icon(Icons.lock), TextInputAction? textInputAction = TextInputAction.done})
→ Widget
-
-
EditText({Key? key, TextEditingController? controller, ValueListener<String>? valueListener, String? initialValue, String? label, String? hint, int? minLength, int maxLength = 256, bool allowEmpty = true, OnValue<String>? onSubmitted, Widget? prefixIcon, String? helperText, String? errorText, bool clear = false, Widget? suffixIcon, Color? cursorColor, TextValidator? validator, List<TextInputFormatter>? inputFormatters, TextInputType? keyboardType = TextInputType.text, TextInputAction? textInputAction = TextInputAction.next, FocusNode? focusNode, TextAlign textAlign = TextAlign.start, bool autofocus = false, int? maxLines, int? minLines, bool readonly = false, InputDecoration? decoration, void onChanged(String)?, void onTapOutside(PointerDownEvent)?})
→ TextFormField
-
-
ExpandTile(Widget title, List<Widget> children, {Widget? leading, Widget? subtitle, void onExpansionChanged(bool)?, Widget? trailing, bool showTrailingIcon = true, bool initiallyExpanded = false, bool maintainState = false, EdgeInsetsGeometry? tilePadding, CrossAxisAlignment? expandedCrossAxisAlignment = CrossAxisAlignment.start, Alignment? expandedAlignment = Alignment.centerLeft, EdgeInsetsGeometry? childrenPadding = const Edges.symmetric(horizontal: 12, vertical: 4), Color? backgroundColor, Color? collapsedBackgroundColor, Color? textColor, Color? collapsedTextColor, Color? iconColor, Color? collapsedIconColor, ShapeBorder? shape, ShapeBorder? collapsedShape, Clip? clipBehavior, ListTileControlAffinity? controlAffinity = ListTileControlAffinity.leading, ExpansibleController? controller, bool? dense, VisualDensity? visualDensity, double? minTileHeight, bool? enableFeedback = true, bool enabled = true, AnimationStyle? expansionAnimationStyle})
→ ExpansionTile
-
-
ExportChipAction(VoidCallback onPressed)
→ Widget
-
-
FillOrScrollX({required Widget child, required double width, ScrollController? controller})
→ Widget
-
-
getClipboardText()
→ Future<String?>
-
-
iconAction(Icon icon, VoidCallback onTap, {String? tooltip})
→ Widget
-
-
iconPopActions(IconData icon, List<XAction> callback(BuildContext c))
→ Widget
-
-
insets({double? left, double? top, double? right, double? bottom, double? hor, double? ver, double? all})
→ EdgeInsets
-
-
IntValidator({int? minValue, int? maxValue, bool allowEmpty = true, String? message})
→ TextValidator
-
-
LabelWidget(Widget label, Widget widget)
→ Widget
-
-
LeftRight(List<Widget> left, List<Widget> right)
→ Widget
-
-
LeftRightExpanded(List<Widget> left, Widget right)
→ Widget
-
-
LengthValidator({int maxLength = 256, int minLength = 0, bool allowEmpty = true, bool trim = false, String? message})
→ TextValidator
-
-
LightThemeData({required Color seed, bool useMaterial3 = false})
→ ThemeData
-
-
ListDrawer(List<Widget> items, {double? width = 200, List<Widget>? tailItems})
→ Drawer
-
-
ListValidator(List<TextValidator> list)
→ TextValidator
-
-
ListViewByItems<T>(List<T> items, Widget itemBuilder(T), {bool seprator = false})
→ ListView
-
-
ListViewByWidgets(List<Widget> items, {bool seprator = false, EdgeInsetsGeometry? padding})
→ ListView
-
-
makeDropList(List<String> items)
→ List<DropdownMenuItem<String>>
-
-
makeSeparatorBuilder({double? height, Color? color, double? indent, double? endIndent, double? thickness = 0})
→ IndexedWidgetBuilder
-
-
moreActions(List<XAction> callback(BuildContext c))
→ Widget
-
-
NotEmptyValidator({bool trim = true, String message = "不可为空"})
→ TextValidator
-
-
NumValidator({num? minValue, num? maxValue, bool allowEmpty = true, String? message})
→ TextValidator
-
-
packageInfo()
→ Future<PackageInfo>
-
-
PickDateButton(BuildContext context, {required DateTime firstDate, DateTime? lastDate, DateTime? date, void onChange(DateTime date)?})
→ Widget
-
-
postFrame(VoidCallback callback)
→ void
-
-
RadioGroupHor<T>(List<LabelValue<T>> items, OptionalValueListener<T> listener, {MainAxisAlignment mainAxisAlignment = MainAxisAlignment.spaceAround})
→ RadioGroup<T>
-
-
RadioGroupVer<T>(List<LabelValue<T>> items, OptionalValueListener<T> listener, {MainAxisAlignment mainAxisAlignment = MainAxisAlignment.center, CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.start})
→ RadioGroup<T>
-
-
refreshAction(VoidCallback onTap, {String? tooltip})
→ Widget
-
-
RefreshChipAction(VoidCallback onPressed)
→ Widget
-
-
RegexValidator({required RegExp regex, MatchType matchType = MatchType.Entire, bool trim = false, bool allowEmpty = true, String message = "格式不符"})
→ TextValidator
-
-
RoundRectBox({Widget? child, Color? color, BorderRadius? borderRadius, double radius = 8, BoxShadow? shadow})
→ DecoratedBox
-
-
RowMax(List<Widget> children, {MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start, CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center, double spacing = 0, TextBaseline? textBaseline})
→ Row
-
-
RowMin(List<Widget> children, {MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start, CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center, TextDirection? textDirection, TextBaseline? textBaseline, double spacing = 0, VerticalDirection verticalDirection = VerticalDirection.down})
→ Row
-
-
saveAction(VoidCallback onTap, {String? tooltip})
→ Widget
-
-
SegmentsBind<T>(Binder<Set<T>> binder, {Key? key, required List<LabelValue<T>> items, bool multi = false, bool allowEmpty = true})
→ SegmentedButton<T>
-
-
SegmentsBindSingle<T>(Binder<T?> binder, {Key? key, required List<LabelValue<T>> items, bool allowEmpty = true})
→ SegmentedButton<T>
-
-
SegmentsBitsB(Binder<int> binder, {Key? key, required List<ButtonSegment<int>> segments, bool emptySelectionAllowed = true, ButtonStyle? style, bool showSelectedIcon = false, Widget? selectedIcon})
→ SegmentedButton<int>
-
-
SegmentsCheckB<T>(Binder<Set<T>> binder, {Key? key, required List<ButtonSegment<T>> segments, bool emptySelectionAllowed = true, ButtonStyle? style, bool showSelectedIcon = false, Widget? selectedIcon})
→ SegmentedButton<T>
-
-
SegmentsRadioB<T>(Binder<T?> binder, {Key? key, required List<ButtonSegment<T>> segments, bool emptySelectionAllowed = true, ButtonStyle? style, bool showSelectedIcon = false, Widget? selectedIcon})
→ SegmentedButton<T>
-
-
separator({double? height, Color? color, double? indent, double? endIndent, double? thickness = 1, double? hor})
→ Widget
-
-
separatorBuilder(BuildContext context, int index)
→ Widget
-
-
setClipboardText(String text)
→ void
-
-
showOverlayX(OverlayBuilder builder, {BuildContext? context, bool canSizeOverlay = false})
→ OverlayX
-
-
showSearchDialog<T>({required Future<List<T>> onItems(String input), Widget onItemView(T item)?, String? searchText, String? title})
→ Future<T?>
-
-
space({double? width, double? height, EdgeInsets? margin})
→ Widget
-
-
StadiumButton({required Widget child, VoidCallback? onPressed, Color? borderColor, Color? backColor, bool outlined = false})
→ Widget
-
-
StadiumElevatedButton({required Widget child, VoidCallback? onPressed, Color? fillColor})
→ Widget
-
高度 比 FilledButton 小
-
StadiumOutlinedButton({required Widget child, VoidCallback? onPressed})
→ Widget
-
-
SwitchB(Binder<bool> binder, {Color? activeColor, Color? activeTrackColor, Color? inactiveThumbColor, Color? inactiveTrackColor, ImageProvider<Object>? activeThumbImage, void onActiveThumbImageError(Object, StackTrace?)?, ImageProvider<Object>? inactiveThumbImage, void onInactiveThumbImageError(Object, StackTrace?)?, WidgetStateProperty<Color?>? thumbColor, WidgetStateProperty<Color?>? trackColor, WidgetStateProperty<Color?>? trackOutlineColor, WidgetStateProperty<double?>? trackOutlineWidth, WidgetStateProperty<Icon?>? thumbIcon, MaterialTapTargetSize? materialTapTargetSize, DragStartBehavior dragStartBehavior = DragStartBehavior.start, MouseCursor? mouseCursor, Color? focusColor, Color? hoverColor, WidgetStateProperty<Color?>? overlayColor, double? splashRadius, FocusNode? focusNode, void onFocusChange(bool)?, bool autofocus = false})
→ Switch
-
-
TagText(String title, {Color? color = Colors.pinkAccent, Color? textColor = Colors.white, double fontSize = 11, double radius = 2, EdgeInsets? padding = tagPadding})
→ Widget
-
-
testAction(VoidCallback onTap, {String? tooltip})
→ Widget
-
-
TextFieldB(Binder<String> binder, {TextEditingController? controller, FocusNode? focusNode, UndoHistoryController? undoController, InputDecoration? decoration = const InputDecoration(), TextInputType? keyboardType, TextInputAction? textInputAction, TextCapitalization textCapitalization = TextCapitalization.none, TextStyle? style, StrutStyle? strutStyle, TextAlign textAlign = TextAlign.start, TextAlignVertical? textAlignVertical, TextDirection? textDirection, bool readOnly = false, bool? showCursor, bool autofocus = false, String obscuringCharacter = '•', bool obscureText = false, bool autocorrect = true, SmartDashesType? smartDashesType, SmartQuotesType? smartQuotesType, bool enableSuggestions = true, int? maxLines = 1, int? minLines, bool expands = false, int? maxLength, MaxLengthEnforcement? maxLengthEnforcement, void onChanged(String)?, void onEditingComplete()?, void onSubmitted(String)?, void onAppPrivateCommand(String, Map<String, dynamic>)?, List<TextInputFormatter>? inputFormatters, bool? enabled, double cursorWidth = 2.0, double? cursorHeight, Radius? cursorRadius, bool? cursorOpacityAnimates, Color? cursorColor, BoxHeightStyle selectionHeightStyle = BoxHeightStyle.tight, BoxWidthStyle selectionWidthStyle = BoxWidthStyle.tight, Brightness? keyboardAppearance, EdgeInsets scrollPadding = const EdgeInsets.all(20.0), DragStartBehavior dragStartBehavior = DragStartBehavior.start, bool? enableInteractiveSelection, TextSelectionControls? selectionControls, void onTap()?, void onTapOutside(PointerDownEvent)?, MouseCursor? mouseCursor, Widget? buildCounter(BuildContext, {required int currentLength, required bool isFocused, required int? maxLength})?, ScrollController? scrollController, ScrollPhysics? scrollPhysics, Iterable<String>? autofillHints = const <String>[], ContentInsertionConfiguration? contentInsertionConfiguration, Clip clipBehavior = Clip.hardEdge, String? restorationId, bool enableIMEPersonalizedLearning = true, bool canRequestFocus = true, SpellCheckConfiguration? spellCheckConfiguration, TextMagnifierConfiguration? magnifierConfiguration})
→ TextField
-
-
TitleBar(BuildContext context, {required Widget title, List<Widget>? actions, double padX = 16})
→ Widget
-
-
TitleValueView(BuildContext context, {required List<Widget> left, List<Widget>? right, double itemSpace = 8, double minHeight = 48, double padX = 16, VoidCallback? onTap, VoidCallback? onDoubleTap})
→ Widget
-
-
typeError(Type t, Object? value)
→ Never
-
-
WrapRow(List<Widget> children, {Axis direction = Axis.horizontal, WrapAlignment alignment = WrapAlignment.start, WrapAlignment runAlignment = WrapAlignment.start, WrapCrossAlignment crossAxisAlignment = WrapCrossAlignment.center, double spacing = 8, double runSpacing = 8, TextDirection? textDirection, VerticalDirection verticalDirection = VerticalDirection.down, Clip clipBehavior = Clip.none})
→ Wrap
-
-
XGridView<T>({List<T>? items, Widget itemView(ContextIndexItem<T>)?, NullableIndexedWidgetBuilder? itemBuilder, bool shrinkWrap = false, int? itemCount, Key? key, Axis scrollDirection = Axis.vertical, bool reverse = false, ScrollController? controller, bool? primary, ScrollPhysics? physics, EdgeInsetsGeometry? padding, int? columnCount, int? crossAxisCount, double crossAxisExtent = 80, double flexPercent = 0.15, double mainAxisSpacing = 0.0, double crossAxisSpacing = 0.0, double childAspectRatio = 1.0, double? mainAxisExtent, bool addAutomaticKeepAlives = true, bool addRepaintBoundaries = true, bool addSemanticIndexes = true, double? cacheExtent, ChildIndexGetter? findChildIndexCallback, int? semanticChildCount, DragStartBehavior dragStartBehavior = DragStartBehavior.start, ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual, String? restorationId, Clip clipBehavior = Clip.hardEdge})
→ GridView
-
-
XListView<T>({Key? key, List<T>? items, Widget itemView(ContextIndexItem<T>)?, Widget? lastItemView(BuildContext)?, NullableIndexedWidgetBuilder? itemBuilder, int? itemCount, IndexedWidgetBuilder? separatorBuilder, bool reverse = false, Axis scrollDirection = Axis.vertical, bool separator = false, double separatorIndentStart = 0, double separatorIndentEnd = 0, ScrollController? controller, bool? primary, ScrollPhysics? physics, bool shrinkWrap = false, EdgeInsetsGeometry? padding, double? itemExtent, double? itemExtentBuilder(int, SliverLayoutDimensions)?, Widget? prototypeItem, int? findChildIndexCallback(Key)?, bool addAutomaticKeepAlives = true, bool addRepaintBoundaries = true, bool addSemanticIndexes = true, double? cacheExtent, int? semanticChildCount, DragStartBehavior dragStartBehavior = DragStartBehavior.start, ScrollViewKeyboardDismissBehavior keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual, String? restorationId, Clip clipBehavior = Clip.hardEdge, HitTestBehavior hitTestBehavior = HitTestBehavior.opaque})
→ ListView
-
-
xy(double x, [double y = 0])
→ EdgeInsets
-