You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用flutter_screenutil实现Flutter应用字体随设备尺寸自适应缩放

字体不随设备尺寸自适应缩放的解决方法

以下是针对你当前代码的修改方案,按顺序核对调整即可:

  • 修正ScreenUtilInit的参数配置
    你当前使用的builder传参方式是旧版写法,v5及以上版本的flutter_screenutil需要传入上下文才能正确获取设备尺寸,同时需要显式开启minTextAdapt参数来允许字体随屏幕缩放,修改后的初始化代码如下:
ScreenUtilInit(
  designSize: const Size(412, 869),
  minTextAdapt: true, // 开启字体自适应
  splitScreenMode: true, // 适配平板、横屏、分屏等大尺寸场景
  builder: (context, child) => MaterialApp(
    useInheritedMediaQuery: true, // 确保屏幕参数向下传递到所有子组件
    debugShowCheckedModeBanner: false,
    title: 'Progressive Institute Events',
    // 新增全局字体缩放配置,避免系统字体大小设置干扰适配规则
    builder: (context, widget) {
      return MediaQuery(
        data: MediaQuery.of(context).copyWith(textScaleFactor: 1.0),
        child: widget!,
      );
    },
    theme: ThemeData(
      primarySwatch: Colors.blue,
      textTheme: TextTheme(
        bodyText1: TextStyle(fontSize: 16.sp),
        bodyText2: TextStyle(fontSize: 16.sp),
      ),
    ),
    home: _runIntroSlider
        ? IntroScreen(
            disableIntroScreen: _disableIntroScreen,
          )
        : auth.isAuth
            ? HomeScreen()
            : FutureBuilder(
                future: auth.tryAutoLogin(),
                builder: (ctx, authResultSnapshot) =>
                    authResultSnapshot.connectionState ==
                            ConnectionState.waiting
                        ? const Center(child: CircularProgressIndicator())
                        : AuthScreen(),
              ),
    routes: {
      TabsScreen.routeName: (ctx) => const TabsScreen(),
      SponsorDetailsScreen.routeName: (ctx) => const SponsorDetailsScreen(),
      QuestionScreen.routeName: (ctx) => const QuestionScreen(),
      SendPushNotificationScreen.routeName: (ctx) =>
          const SendPushNotificationScreen(),
      AboutAppScreen.routeName: (ctx) => const AboutAppScreen(),
    },
  ),
)
  • 检查业务代码中的字体配置
    如果你在页面中自定义了TextStyle,必须确保所有fontSize都使用.sp后缀,不要写固定数值,否则这些文本不会适配屏幕尺寸。

内容的提问来源于stack exchange,提问作者Barnett Temwa Msiska

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 07:06:01