时代搬砖者

Results 9 comments of 时代搬砖者

@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关系不大,其它系统上小窗是正常的

@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试试