toEdgeInsets property

EdgeInsets? get toEdgeInsets

将数组转为内边距对象,其数组结构与 CSS 一致:

  • 10 - 所有
  • 10, 20 - 上下 | 左右
  • 10, 20, 10 - 上 | 左右 | 下
  • 10, 20, 10, 20 - 上 | 右 | 下 | 左

Implementation

EdgeInsets? get toEdgeInsets {
  if (isEmpty) return null;

  if (length == 1) {
    return .all(first);
  } else if (length == 2) {
    return .symmetric(vertical: first, horizontal: last);
  } else {
    if (length == 3) {
      return .only(top: this[0], left: this[1], right: this[1], bottom: this[2]);
    } else {
      return .only(top: this[0], right: this[1], bottom: this[2], left: this[3]);
    }
  }
}