| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import 'package:flutter/material.dart';
- class HYSizeFit {
- static MediaQueryData _mediaQueryData;
- static double screenWidth;
- static double screenHeight;
- static double rpx;
- static double px;
- static void initialize(BuildContext context, {double standardWidth = 750}) {
- _mediaQueryData = MediaQuery.of(context);
- screenWidth = _mediaQueryData.size.width;
- screenHeight = _mediaQueryData.size.height;
- rpx = screenWidth / standardWidth;
- px = screenWidth / standardWidth * 2;
- // print('device size: $screenWidth * $screenHeight');
- }
- // 按照像素来设置
- static double setPx(double size) {
- return HYSizeFit.rpx * size * 2;
- }
- // 按照rxp来设置
- static double setRpx(double size) {
- return HYSizeFit.rpx * size;
- }
- }
- extension IntFit on int {
- double get px {
- return HYSizeFit.setPx(this.toDouble());
- }
- double get rpx {
- return HYSizeFit.setRpx(this.toDouble());
- }
- }
- extension DoubleFit on double {
- double get px {
- return HYSizeFit.setPx(this);
- }
- double get rpx {
- return HYSizeFit.setRpx(this);
- }
- }
|