xb_scaffold library

Classes

InputDoubleAsVM
XBActionSheetCell
XBActionSheetMultiDefItem
XBActionSheetMultiItemDefWidget
XBActionSheetMultiItemDefWidgetVM
XBAdaptiveListView
XBAnimationRotate
XBBG
XBBottomLine
XBButton
XBButtonText
XBCell
XBCellArrow
XBCellCenterTitle
XBCellGroup
XBCellIconTitle
XBCellIconTitleSelect
XBCellIconTitleSubtitlePoint
XBCellIconTitleSwitch
XBCellTitle
XBCellTitleImage
XBCellTitleSelect
XBCellTitleSubtitle
XBCellTitleSubtitlePoint
XBCellTitleSwitch
XBCellTopIconBottomTitle
XBDialogInput
XBDioConfig
XBDisable
XBDoubleTextInputFormatter
限制只能输入数字和小数点
XBEmptyAppBar
XBEventBus
XBFadeWidget
XBFadeWidgetState
XBFileImage
XBFloatMenu
XBFloatMenuIconTitle
XBFloatMenuIconTitleItem
XBFloatMenuTitle
XBFloatWidget
XBFloatWidgetArrow
XBGradientWidget
XBHoveringHeaderList
XBHoveringHeaderListState
XBHttp
XBImage
XBImgSizeUtil
XBLoading
XBLoadingItem
XBLoadingMask
XBLoadingPainter
XBLoadingTask
XBLoadingWidget
XBMaxHeightContainer
XBMaxLengthTextInputFormatter
限制最大输入字数
XBNavigatorBackBtn
XBNumberLimitTextInputFormatter
限制最大最小值
XBNumberTextInputFormatter
限制只能输入数字
XBPage<T extends XBPageVM>
XBPageVM<T>
XBPreventMultiTask
XBRefreshTasKUtil
XBRequestInterceptor
XBResponseInterceptor
XBScaffold
XBSectionIndexPath
XBSelectModel<T>
XBShadowContainer
XBTable
XBTableHeader
XBTableIndex
XBTask
XBTextField
XBTextFieldState
XBTextSizeUtil
XBTheme
要替换原来主题中的内容,继承相应的类,在创建主题的时候传入 要新增原来主题中没有的内容,需通过extension来实现
XBThemeColor
XBThemeConfig
XBThemeFontSize
XBThemeFontWeight
XBThemeImage
XBThemeSpace
XBThemeVM
XBTimer
XBTip
XBTitlePicker
XBTitlePickerIndex
XBTitlePickerMulti
XBToastItem
XBTrimTextInputFormatter
去除头尾的空格
XBVM<T>
XBVMLessWidget
XBVoidParamTask
XBWaitTask
XBWidget<T extends XBVM>
XBWidgetState<T extends XBVM>

Enums

XBAnimationRotateAxis
XBButtonTapEffect
使用cover的时候,会覆盖掉child上的点击事件 如果需要响应child上的点击事件,使用opacity
XBCellAlignment
XBStatusBarStyle

Extensions

XBStackList on List<T>
XBUniqueList on List<T>
XBVMContext on BuildContext
BuildContext扩展,用于在任何地方访问XBWidget的vm实例

Properties

app XBTheme
no setter
colors XBThemeColor
no setter
dpr → dynamic
屏幕一个点代表几个像素
no setter
fontSizes XBThemeFontSize
no setter
fontWeights XBThemeFontWeight
no setter
images XBThemeImage
no setter
isHarmony bool
no setter
isShowGoabolLoading bool
no setter
maxPageLogLen int?
no setter
mediaQueryData → dynamic
no setter
navigationBar高度
no setter
needSuperLogKey String
getter/setter pair
onePixel → dynamic
1个像素的高度
no setter
pageLogList List<String>
no setter
printLog bool
no setter
queryData → dynamic
no setter
safeAreaBottom → dynamic
iOS中底布安全区域的高度 全面屏手机展开键盘的时候,mediaQueryData.padding.bottom会变成0
no setter
screenH → dynamic
屏幕高度
no setter
screenHWithoutTopBarH → dynamic
除去topBarH后屏幕还剩余的高度
no setter
screenSize → dynamic
屏幕尺寸
no setter
screenW → dynamic
屏幕宽度
no setter
spaces XBThemeSpace
no setter
stateBarH → dynamic
状态栏高度
no setter
tabbarH → dynamic
tabbar高度
no setter
tempContext BuildContext?
getter/setter pair
topBarH → dynamic
(状态栏 + navigationBar)的高度
no setter
xbCategoryName String
getter/setter pair
xbCategoryNameKey String
getter/setter pair
xbGlobalContext BuildContext
no setter
xbHashCodeKey String
getter/setter pair
xbLoadingBuilder XBLoadingBuilder?
no setter
xbNavigatorObserver → XBNavigatorObserver
no setter
xbRouteObserver RouteObserver<ModalRoute<void>>
页面展示隐藏监听
final
xbRouteStackStream Stream<XBStackChangedEvent>
no setter
xbStackStreamController StreamController<XBStackChangedEvent>
no setter
xbToastBackgroundColor Color?
no setter

Functions

actionSheet({required List<String> titles, required ValueChanged<int> onSelected, int? selectedIndex, Color? selectedColor, String? dismissTitle, Color? dismissTitleColor, double? dismissTitleFontSize, VoidCallback? onTapDismiss}) → dynamic
actionSheetMulti({required List<String> titles, required ValueChanged<List<int>> onDone, double topBarHeight = 50, VoidCallback? onCancel, List<int>? selectedIndexes, Widget? cancelBtn, Widget? titleWidget, Widget? doneBtn, Widget? topBarSeparator, double topRadius = 10, ActionSheetMultiItemBuilder? itemBuilder, IndexedWidgetBuilder? separatorBuilder}) → dynamic
actionSheetMultiItem({required int itemCount, required ActionSheetMultiItemBuilder itemBuilder, required ValueChanged<List<int>> onDone, double topBarHeight = 50, VoidCallback? onCancel, List<int>? selectedIndexes, Widget? cancelBtn, Widget? titleWidget, Widget? topBarSeparator, Widget? doneBtn, double topRadius = 10, IndexedWidgetBuilder? separatorBuilder}) → dynamic
actionSheetWidget({required Widget widget, bool isScrollControlled = false, bool isDismissible = true, bool enableDrag = true}) → dynamic
dialog({required String title, TextStyle? titleStyle, required String msg, TextStyle? msgStyle, required List<String> btnTitles, Color? btnHighLightColor, Color? btnDefaultColor, double? btnFontSize, required ValueChanged<int> onSelected, double? maxWidth}) → dynamic
dialogContent({required String title, TextStyle? titleStyle, required Widget content, required List<String> btnTitles, Color? btnHighLightColor, Color? btnDefaultColor, double? btnFontSize, required ValueChanged<int> onSelected, double? maxWidth}) → dynamic
dialogWidget(Widget widget) → dynamic
endEditing({BuildContext? context}) → void
结束输入框编辑
getDocumentTitle() String
hideLoadingGlobal() → dynamic
isXBRoute(Route route) bool
判断是否是XBRoute
pageLogInfo({String separator = '\n'}) String
pop<O extends Object?>([O? result]) → void
回到上一页
popToRoot() → void
回到根页面
popUntilType(Type type) → void
回到最后一个Type类型的页面 如果找不到,则回到根页面
push<T extends Object?>(Widget newPage, [int style = 0]) Future<T?>
进入新页面 style:0 iOS风格;1 material风格
pushAndClearStack<T extends Object?>(Widget newPage, [int style = 0]) Future<T?>
进入新页面,并且清除栈中的页面 style:0 iOS风格;1 material风格
recordPageLog(String msg) → void
replace<T extends Object?>(Widget newPage, [int style = 0]) Future<T?>
用新页面替换当前页
routeIsMapWidget({required Route route, required Widget widget}) bool
判断路由是否映射Widget 非XBRoute都返回false
setDocumentTitle(String title) → dynamic
showLoadingGlobal({bool topLeftEnable = true, bool topCenterEnable = false, bool topRightEnable = false, bool contentEnable = false, String? msg, Widget? widget}) → dynamic
展示全局loading,优先级:widget > xbLoadingBuilder > const XBLoadingWidget()
showPageLog() → dynamic
stackContainType(Type type) bool
类型是否在栈里,如果是根节点,没办法判断是否在栈里
toast(String msg, {int duration = 3, double bottom = 150, Color? backgroundColor, double radius = 8, TextStyle? msgStyle}) → dynamic
toastWidget({required Widget widget, int duration = 3, double bottom = 150}) → dynamic
topIsType(Type type) bool
栈顶是否是type类型
xbError(Object info) → dynamic
xbLine({double? width, Color? color, int direction = 0, double startPadding = 0, double endPadding = 0}) Widget
0 横向 1 纵向
xbLog(Object info) → dynamic
xbParse<T>(dynamic object, {int trueValue = 1, T factory(Map<String, dynamic>)?}) → T?
xbParseList<T>(dynamic object, {int trueValue = 1, T factory(Map<String, dynamic>)?}) List<T>?
xbSpace({double? height, double? width}) Widget
xbSpaceHeight(double height) Widget
xbSpaceWidth(double width) Widget
xbUnDisappear(Object info) → dynamic

Typedefs

ActionSheetMultiItemBuilder = Widget Function(BuildContext context, int index, bool isSelected, double height, VoidCallback onTap)
HeaderBuilder = Widget Function(BuildContext context, int section)
HeaderHeightForSection = double Function(int section)
HoverHeaderBuilder = Widget Function(BuildContext context, double offset, Widget child, bool visible)
HoverHeaderListItemBuilder = Widget Function(BuildContext context, XBSectionIndexPath indexPath, double height)
HoverHeaderListSeparatorBuilder = Widget Function(BuildContext context, XBSectionIndexPath indexPath, double height, bool isLast)
ItemHeightForIndexPath = double Function(XBSectionIndexPath indexPath)
SectionListItemBuilder = Widget Function(BuildContext context, XBSectionIndexPath indexPath)
SectionListOffsetChanged = void Function(double currentOffset, double maxOffset)
SectionListSeparatorBuilder = Widget Function(BuildContext context, XBSectionIndexPath indexPath, bool isLast)
SeparatorHeightForIndexPath = double Function(XBSectionIndexPath indexPath, bool isLast)
XBFloatMenuItemBuilder = Widget Function(int index, Function hide)
XBLoadingBuilder = Widget Function(BuildContext context, String? msg)
用于外部控制loading要长什么样
XBTableCellBuilder = Widget Function(XBTableIndex index)
XBTableHeaderItemBuilder = Widget Function(int index)
XBTaskFunc = void Function(dynamic params)
XBValueChanged2<T, S> = void Function(T value1, S value2)
value changed
XBValueChanged3<T, S, O> = void Function(T value1, S value2, O value3)
XBValueChanged4<T, S, O, P> = void Function(T value1, S value2, O value3, P value4)
XBValueChanged5<T, S, O, P, W> = void Function(T value1, S value2, O value3, P value4, W value5)
XBValueGetter<T, S> = T Function(S value)
value getter
XBValueGetter2<T, S, O> = T Function(S value1, O value2)
XBValueGetter3<T, S, O, P> = T Function(S value1, O value2, P value3)
XBValueGetter4<T, S, O, P, W> = T Function(S value1, O value2, P value3, W value4)
XBValueGetter5<T, S, O, P, W, Z> = T Function(S value1, O value2, P value3, W value4, Z value5)