https://blog.csdn.net/u011272795/article/details/82795477
flutter_ScreenUtil
flutter 屏幕适配方案
github: https://github.com/OpenFlutter/flutter_ScreenUtil
csdn博客工具介绍:https://blog.csdn.net/u011272795/article/details/82795477
使用方法:
安装依赖:
安装之前请查看最新版本
dependencies:
flutter:
sdk: flutter
# 添加依赖
flutter_screenutil: ^0.4.2

在每个使用的地方导入包:
import 'package:flutter_screenutil/flutter_screenutil.dart';
初始化设置尺寸
在使用之前请设置好设计稿的宽度和高度,传入设计稿的宽度和高度(单位px)
一定在MaterialApp的home中的页面设置(即入口文件,只需设置一次),以保证在每次使用之前设置好了适配尺寸:
//设置适配尺寸 (填入设计稿中设备的屏幕尺寸) 假如设计稿是按iPhone6的尺寸设计的(iPhone6 750*1334)
ScreenUtil.instance = ScreenUtil(width: 750, height: 1334)..init(context);

使用:
适配尺寸:
传入设计稿的px尺寸:
根据屏幕宽度适配 width: ScreenUtil().setWidth(540),
根据屏幕高度适配 height: ScreenUtil().setHeight(200),
注意
高度也根据setWidth来做适配可以保证不变形(当你想要一个正方形的时候)
setHeight方法主要是在高度上进行适配, 在你想控制UI上一屏的高度与实际中显示一样时使用.
例如
//长方形:
Container(
width: ScreenUtil().setWidth(375),
height: ScreenUtil().setHeight(200),
),

//如果你想显示一个正方形:
Container(
width: ScreenUtil().setWidth(300),
height: ScreenUtil().setWidth(300),
),

屏幕宽高

width: window.physicalSize.width,
height: window.physicalSize.height,


width: MediaQuery.of(context).size.width 0.4,
height: MediaQuery.of(context).size.width
0.6,

获取外边距

final double topPadding = MediaQuery.of(context).padding.top;
final double bottomPadding = MediaQuery.of(context).padding.bottom;