asBoxDecoration static method

BoxDecoration asBoxDecoration({
  1. required MaterialElevation elevation,
})

Implementation

static BoxDecoration asBoxDecoration({required MaterialElevation elevation}) {
  BoxShadow shadow;

  switch (elevation) {
    case MaterialElevation.the1dp:
      shadow =
          BoxShadow(color: Colors.black12, spreadRadius: 1, blurRadius: 0);
      break;
    case MaterialElevation.the2dp:
      shadow =
          BoxShadow(color: Colors.black26, spreadRadius: 1, blurRadius: 1);
      break;
    case MaterialElevation.the3dp:
      shadow =
          BoxShadow(color: Colors.black26, spreadRadius: 2, blurRadius: 2);
      break;
    case MaterialElevation.the4dp:
      shadow =
          BoxShadow(color: Colors.black26, spreadRadius: 2, blurRadius: 5);
      break;
    case MaterialElevation.the5dp:
      shadow =
          BoxShadow(color: Colors.black26, spreadRadius: 3, blurRadius: 5);
      break;
    case MaterialElevation.the6dp:
      shadow =
          BoxShadow(color: Colors.black26, spreadRadius: 4, blurRadius: 6);
      break;
    case MaterialElevation.the7dp:
      shadow =
          BoxShadow(color: Colors.black26, spreadRadius: 4, blurRadius: 7);
      break;
    case MaterialElevation.the8dp:
      shadow =
          BoxShadow(color: Colors.black26, spreadRadius: 5, blurRadius: 8);
      break;
    default:
      throw Exception('Not supported elevation value: $elevation');
  }

  return BoxDecoration(boxShadow: [shadow]);
}