cargo66/lib/configs/ui.dart

65 lines
1.7 KiB
Dart

import 'dart:math';
import 'package:flutter/widgets.dart';
class UI {
static MediaQueryData? _mediaQueryData;
static double? width;
static double? height;
static double? horizontal;
static double? vertical;
static EdgeInsets? padding;
static EdgeInsets? vi;
static double? _safeAreaHorizontal;
static double? _safeAreaVertical;
static double? safeWidth;
static double? safeHeight;
static double? diagonal;
static bool? xxs;
static bool? xs;
static bool? sm;
static bool? md;
static bool? xmd;
static bool? lg;
static bool? xl;
static bool? xlg;
static bool? xxlg;
static void init(BuildContext context) {
_mediaQueryData = MediaQuery.of(context);
initChecks(_mediaQueryData!);
padding = _mediaQueryData!.padding;
vi = _mediaQueryData!.viewInsets;
width = _mediaQueryData!.size.width;
height = _mediaQueryData!.size.height;
horizontal = width! / 100;
vertical = height! / 100;
_safeAreaHorizontal = _mediaQueryData!.padding.left + _mediaQueryData!.padding.right;
_safeAreaVertical = _mediaQueryData!.padding.top + _mediaQueryData!.padding.bottom;
safeWidth = (width! - _safeAreaHorizontal!);
safeHeight = (height! - _safeAreaVertical!);
}
static initChecks(MediaQueryData query) {
var size = query.size;
diagonal = sqrt((size.width * size.width) + (size.height * size.height));
xxs = size.width > 300;
xs = size.width > 360;
sm = size.width > 480;
md = size.width > 600;
xmd = size.width > 720;
lg = size.width > 980;
xl = size.width > 1160;
xlg = size.width > 1400;
xxlg = size.width > 1700;
}
static MediaQueryData mediaQuery() => _mediaQueryData!;
static Size getSize() => _mediaQueryData!.size;
}