getSize function

dynamic getSize({
  1. dynamic size,
  2. dynamic defValue = 0.0,
  3. dynamic isTransform = true,
})

Implementation

getSize({dynamic size, dynamic defValue = 0.0, isTransform = true}) {
  if (size == null) return defValue;
  final type = getTypeOf(size);
  double? mSize;
  switch (type) {
    case 'String':
      final sizeStr = (size as String);
      if (sizeStr.indexOf('vh') != -1) {
        mSize = double.parse(size.replaceAll('vh', ''));
        mSize = ScreenUtil().screenHeight * mSize / 100;
      } else if (sizeStr.indexOf('vw') != -1) {
        mSize = double.parse(size.replaceAll('vw', ''));
        mSize = ScreenUtil().scaleWidth * mSize / 100;
      } else {
        mSize = double.parse(sizeStr.replaceAll('px', ''));
      }
      break;
    case 'int':
      mSize = (size as int).toDouble();
      break;
    case 'double':
      mSize = (size as double);
  }
  if (mSize != null) {
    if (isTransform) {
      return ScreenUtil().setWidth(mSize).abs();
    } else {
      return mSize;
    }
  } else {
    return defValue;
  }
}