screen_utils.dart 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. part of cool_ui;
  2. class ScreenUtil {
  3. static double _screenWidth;
  4. static double _screenHeight;
  5. static double _screenDensity;
  6. static double _statusBarHeight;
  7. static double _appBarHeight;
  8. static MediaQueryData _mediaQueryData;
  9. static ScreenUtil singleton = new ScreenUtil();
  10. static ScreenUtil getInstance() {
  11. return singleton;
  12. }
  13. void init(BuildContext context) {
  14. MediaQueryData mediaQuery = MediaQuery.of(context);
  15. _mediaQueryData = mediaQuery;
  16. _screenWidth = mediaQuery.size.width;
  17. _screenHeight = mediaQuery.size.height;
  18. _screenDensity = mediaQuery.devicePixelRatio;
  19. _statusBarHeight = mediaQuery.padding.top;
  20. _appBarHeight = kToolbarHeight;
  21. }
  22. ///screen width
  23. static double get screenWidth => _screenWidth;
  24. ///screen height
  25. static double get screenHeight => _screenHeight;
  26. ///appBar height
  27. static double get appBarHeight => _appBarHeight;
  28. ///screen density
  29. static double get screenDensity => _screenDensity;
  30. ///status bar Height
  31. static double get statusBarHeight => _statusBarHeight;
  32. static MediaQueryData get mediaQueryData => _mediaQueryData;
  33. static double getScreenWidth(BuildContext context) {
  34. MediaQueryData mediaQuery = MediaQuery.of(context);
  35. return mediaQuery.size.width;
  36. }
  37. static double getScreenHeight(BuildContext context) {
  38. MediaQueryData mediaQuery = MediaQuery.of(context);
  39. return mediaQuery.size.height;
  40. }
  41. static Orientation getOrientation(BuildContext context) {
  42. MediaQueryData mediaQuery = MediaQuery.of(context);
  43. return mediaQuery.orientation;
  44. }
  45. }