Flutter 应用程序 UI 在真实设备上比在模拟器中更大

标签 flutter ios-simulator flutter-renderflex-error

我有这个 flutter 应用程序,可以在 iOS 和 Android 模拟器上完美运行: app on iOS simulator

但是当我在 iPhone 12 上运行相同的应用程序时,所有内容(字体大小、文本字段等)都显得更大,因此出现渲染溢出错误。这种升级发生在我的应用程序的每个屏幕上。 app on real iPhone 12

我尝试将 Mac 完全关闭然后再次打开。 Flutter doctor 也完全没问题。

[编辑] 完整的默认 Flutter 项目也会发生这种情况。我不明白为什么缩放只发生在真实设备上而不是模拟器中。

这是模拟器中的默认项目: default Project in Simulator

以下是真实 iPhone 12 上的默认项目: default Project on real iPhone

最佳答案

您必须使用 MediaQuery.of(context).size 动态计算大小 或者使用某种包,他们动态地为你做。

import "package:flutter/material.dart";
import 'package:flutter_screenutil/flutter_screenutil.dart';


void main() async {
    // Add this line
      await ScreenUtil.ensureScreenSize();
      runApp(MyApp());
}


class MyApp extends StatelessWidget {
   const MyApp({Key? key}) : super(key: key);
   @override
   Widget build(BuildContext context) {

     // Add this Widget and call your root Widget here.
      return ScreenUtilInit(
         builder: (context , child) {
            return MaterialApp(
               debugShowCheckedModeBanner: false,
               title: 'First Method',
               home: Column(
                   children:<Wigdet>[
                      Container(
                         width: 50.w,
                        height:200.h
                      ),
                       Text("Ola".sp)
                ]
              ),
        );
      }
    );
  },
);

} }

关于Flutter 应用程序 UI 在真实设备上比在模拟器中更大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75887563/

相关文章:

iphone - 重置 iOS 模拟器中的联系人访问权限?

ios - 应用标题旁边的红点?

ios - Xcode iPhone模拟器键盘按弄乱计算机音频质量

Flutter SingleChildScrollView 扩展

ios - 为什么 Flutter 编译器告诉我我的应用程序不存在?

flutter - 实现BottomNavigationBar

android - PathProvider 文档目录是一个安全的位置吗?

flutter - 为什么无法在 flutter 中使用流聊天 api 创建用户?