FxTransitionBuilder function

TransitionBuilder FxTransitionBuilder(
  1. {TransitionBuilder? builder}
)

Implementation

BlueprintsRectangle _uiBlueprints = const BlueprintsRectangle(0, 0);double restore2DeviceValue(double dpValue) {return dpValue * Info.instance.restoreRatio;}EdgeInsets restore2DeviceEdgeInsets(EdgeInsets dpEdgeInsets) {return dpEdgeInsets * Info.instance.restoreRatio;}Size restore2DeviceSize(Size dpSize) {return dpSize * Info.instance.restoreRatio;}TransitionBuilder FxTransitionBuilder({TransitionBuilder? builder}) {return (BuildContext context, Widget? child) {assert(WidgetsBinding.instance != null, "未初始化ui");var old = MediaQuery.of(context);var deviceShortWidth =ui.window.physicalSize.width <= ui.window.physicalSize.height? ui.window.physicalSize.width: ui.window.physicalSize.height;if (deviceShortWidth == 0)deviceShortWidth = old.size.width < old.size.height? old.size.width * old.devicePixelRatio: old.size.height * old.devicePixelRatio;double actualPixelRatio = deviceShortWidth / _uiBlueprints.width;Info.init(actualPixelRatio: actualPixelRatio, uiBlueprints: _uiBlueprints).onScreenMetricsChange(old);print("Info=${Info.instance}");return MediaQuery(data: old.copyWith(textScaleFactor: 1,size: (old.size / actualPixelRatio) * old.devicePixelRatio,devicePixelRatio: actualPixelRatio,padding: restore2DeviceEdgeInsets(old.padding),viewPadding: restore2DeviceEdgeInsets(old.viewPadding),viewInsets: restore2DeviceEdgeInsets(old.viewInsets),systemGestureInsets: restore2DeviceEdgeInsets(old.systemGestureInsets),),child: builder == null ? child! : builder(context, child),);};}