Flutter 屏幕适配和宏定义
2022-11-07 本文已影响0人
小明2021
Flutter 屏幕适配
import 'dart:ui';
import 'package:flutter/material.dart';
// 尺寸相关的宏定义
class XMSizeMacro {
/// 分辨率比例
static final screen_dpr = window.devicePixelRatio;
/// 屏幕逻辑宽度 - 例如iPhone6是 375
static final screen_width = window.physicalSize.width/screen_dpr;
/// 屏幕逻辑高度 - 例如iPhone6是 667
static final screen_height = window.physicalSize.height/screen_dpr;
/// 状态栏高度
static final status_height = window.padding.top/screen_dpr;
/// 适配屏幕,跟iPhone6的比例系数
static final px = screen_width/375.0;
/// 适配屏幕,一般都是iPhone6为标准的
static double setPx(double size) {
return size * px;
}
}
// 对数字类型的屏幕适配扩展
extension NumFit on num {
// 对double类型的数值进行屏幕适配
double get px { // get方法不需要加()了。更方便
return XMSizeMacro.setPx(this.toDouble());
}
}