时代搬砖者
时代搬砖者
@lycstar 可以使用以下方案临时解决 在main.dart中的入口处理 ``` dart MaterialApp( builder:(context,child){ ///如果无法检测到状态栏高度使用默认高度 Global.isPaddingCheckError = MediaQuery.of(context).viewPadding.top 50; if (Global.isPaddingCheckError) { return MediaQuery( data: MediaQuery.of(context).copyWith( viewPadding: const EdgeInsets.only( top: 25, bottom: 35, ), padding: const EdgeInsets.only(...
我们的应该在小米上也有相同的问题,这么处理后,在freeform正常了,给个默认padding就正常了,其实就是Flutter框架在freeform模式下无法在小米15上识别到padding的值,差不多有600多个像素,你可以验证下,不使用Safeview和Appbar的情况下,freeform模式下,或其它使用MediaQuery.of(context).viewPadding.top的情况下,小窗是正常的
@lycstar 其它解决方法,就是整个App都不要使用MediaQuery.of(context).viewPadding.top,Appbar,Safeview,但这可能不太现实
@lycstar 本来之前还不知道怎么处理这个问题,还是看了你的截图数据,发现是top.padding值超大引起的问题,才想到的临时处理方案,thanks
> > [@lycstar](https://github.com/lycstar) 本来之前还不知道怎么处理这个问题,还是看了你的截图数据,发现是top.padding值超大引起的问题,才想到的临时处理方案,thanks > > 是的,而且引发错误的相关engine pr也找到了,就是没人修复 这个是小米系统定制出的兼容问题,其实和google engine关系不大,其它系统上小窗是正常的
@lycstar 同样是小米15的问题 你有遇到吗? https://github.com/flutter/flutter/issues/171132
@qiufenghuashui 可以在main.dart中检测viewpadding值的异常情况处理 ``` dart MaterialApp( builder:(_,child){ ///如果无法检测到状态栏高度使用默认高度 Global.isPaddingCheckError = MediaQuery.of(context).viewPadding.top 50; if (Global.isPaddingCheckError) { return MediaQuery( data: MediaQuery.of(context).copyWith( viewPadding: const EdgeInsets.only( top: 25, bottom: 35, ), padding: const EdgeInsets.only( top:...
我们的应该在小米上也有相同的问题,这么处理后,在freeform正常了,给个默认padding就正常了,其实就是Flutter框架在freeform模式下无法在小米15上识别到padding的值,差不多有600多个像素,你可以验证下,不使用Safeview和Appbar的情况下,freeform模式下,或其它使用MediaQuery.of(context).viewPadding.top的情况下,小窗是正常的
> [@q384264619](https://github.com/q384264619) > > 有兴趣为此提交 PR 吗 解决问题就行了,你可以提交PR试试