Flutter:flutter_screenutil屏幕适配

1、安装flutter_screenutil

haskell 复制代码
flutter_screenutil: ^5.9.3

2、main入口修改

js 复制代码
// 新增 ScreenUtilInit()

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) :super(key: key);
  @override
  Widget build(BuildContext context) {
    return ScreenUtilInit(
      designSize: const Size(375, 812), // 设计稿中设备的尺寸(建议dp,但在使用过程中必须保持一致)
      // splitScreenMode: false, // 支持分屏尺寸
      // minTextAdapt: false, // 是否根据宽度/高度中的最小值适配文字
      
      // 一般返回一个MaterialApp类型的Function()
      builder: (context,child){
        return GetMaterialApp(
          debugShowCheckedModeBanner: false,
          title: 'Flutter Demo',
		  // 路由
          initialRoute: '/login',
          // 屏幕适配
          builder: (context, widget) {
            // 不随系统字体缩放比例
            return MediaQuery(
              data: MediaQuery.of(context).copyWith(textScaleFactor: 1.0),
              child: widget!,
            );
          },
        );
      }
    );
  }
}

3、页面中使用

单位后边加 .sp

js 复制代码
// 用到的地方都要导包
import 'package:flutter_screenutil/flutter_screenutil.dart';
SizedBox(height: 100.sp),
Center(
  child: Image(
    image: AssetImage('images/logo.png'),
    width: 100.sp,
    height: 100.sp,
  ),
),
Text('账号登录',style: TextStyle(fontSize: 16.sp),
相关推荐
_阿南_5 小时前
项目中新增给AI制定的代码规范
前端·程序员
名字还没想好☜6 小时前
React 实现暗黑模式切换:localStorage 持久化、SSR 首屏闪烁与跟随系统主题
前端·javascript·react.js·ecmascript·react·next.js
自动化监测Learner7 小时前
主流 Web 端地图引擎对比:选型指南与优劣分析
javascript
console.log('npc')7 小时前
Git 冲突与 AI 协助指南
前端·人工智能·git·大模型
爱学堂IT分享8 小时前
Cesium可视化系统实战课程-Cesium教程学习
前端
糖墨夕9 小时前
理解大语言模型:Agent 的“大脑”
前端·agent
Rain的Java大神之路9 小时前
JavaWeb开发如何解决跨域问题
java·前端·后端·nginx·web安全·面试·运维开发
cpolar技术支持9 小时前
浏览器也能跑本地 AI:用 Transformers.js + WebGPU 做一个最小推理 Demo,cpolar 给同事远程体验
前端·ai·cpolar·webgpu·transformers.js
计算机魔术师11 小时前
OpenAI 发布 GPT-6 Astra:多项基准刷新纪录, cybersecurity 能力达 Critical 阈值
前端
xy345311 小时前
Axure9.0中继器遮罩实现方法
前端·ui·html·axure·原型·产品设计