mainWidget method

dynamic mainWidget()

@description: 根据位置、距离信息布局 @param {} @return {}

Implementation

mainWidget() {
  double itemSpace = this.space ?? 4.w;
  ImagePosition imageWidgetPosition =
      this.imagePosition ?? ImagePosition.Right;

  late Widget contentWidget;

  switch (imageWidgetPosition) {
    case ImagePosition.Left:
      {
        contentWidget = Row(
          mainAxisAlignment: MainAxisAlignment.center,
          mainAxisSize: MainAxisSize.min,
          children: [
            this.imageWidget,
            Divider(indent: itemSpace, color: Colors.transparent),
            this.textWidget
          ],
        );
      }
      break;
    case ImagePosition.Up:
      {
        contentWidget = Column(
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          mainAxisSize: MainAxisSize.min,
          children: [
            this.imageWidget,
            Divider(height: itemSpace, color: Colors.transparent),
            this.textWidget,
          ],
        );
      }
      break;
    case ImagePosition.Right:
      {
        contentWidget = Row(
          mainAxisAlignment: MainAxisAlignment.center,
          mainAxisSize: MainAxisSize.min,
          children: [
            this.textWidget,
            Divider(indent: itemSpace, color: Colors.transparent),
            this.imageWidget,
          ],
        );
      }
      break;

    case ImagePosition.Down:
      {
        contentWidget = Column(
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          mainAxisSize: MainAxisSize.min,
          children: [
            this.textWidget,
            Divider(height: itemSpace, color: Colors.transparent),
            this.imageWidget,
          ],
        );
      }
      break;
  }

  return contentWidget;
}