build method

Widget build()

构建Flex组件 - 只负责布局,不含视觉样式

Implementation

Widget build() {
  // 先处理order排序,再处理gap间距
  List<Widget> orderedChildren = _buildOrderedChildren();
  List<Widget> childrenWithGap = _buildChildrenWithGap(orderedChildren);

  if (_direction == Axis.horizontal) {
    return Row(
      mainAxisAlignment: _mainAxisAlignment,
      crossAxisAlignment: _crossAxisAlignment,
      mainAxisSize: _mainAxisSize,
      textDirection: _textDirection,
      verticalDirection: _verticalDirection,
      children: childrenWithGap,
    );
  } else {
    return Column(
      mainAxisAlignment: _mainAxisAlignment,
      crossAxisAlignment: _crossAxisAlignment,
      mainAxisSize: _mainAxisSize,
      textDirection: _textDirection,
      verticalDirection: _verticalDirection,
      children: childrenWithGap,
    );
  }
}