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),
相关推荐
我不只是切图仔32 分钟前
我只是想给网站加个注册验证码,咋就那么难!
前端·后端
JohnYan1 小时前
工作笔记 - 微信消息发送和处理
javascript·后端·微信
该用户已不存在1 小时前
macOS是开发的终极进化版吗?
前端·后端
小豆包api1 小时前
小豆包AI API × Nano Banana:3D手办 + AI视频生成,「动起来」的神级玩法!
前端·api
陈陈爱java1 小时前
Spring八股文
开发语言·javascript·数据库
布列瑟农的星空2 小时前
大话设计模式——观察者模式和发布/订阅模式的区别
前端·后端·架构
龙在天2 小时前
Vue3 实现 B站 视差 动画
前端
KenXu2 小时前
F2C Prompt to Design、AI 驱动的设计革命
前端
小鱼儿亮亮2 小时前
canvas中画线条,线条效果比预期宽1像素且模糊问题分析及解决方案
前端·react.js
@大迁世界2 小时前
用 popover=“hint“ 打造友好的 HTML 提示:一招让界面更“懂人”
开发语言·前端·javascript·css·html