flutter_boost icon indicating copy to clipboard operation
flutter_boost copied to clipboard

[Bug]: Android横屏后,锁屏再开屏页面的元素大小会变更

Open applebest opened this issue 1 year ago • 3 comments

请描述遇到的问题,以及您所期望的正确的结果

步骤:混合开发,从原生页面跳进横屏的flutter页面,布局正常,锁屏后再开屏页面的元素大小会变。

直接从flutter module运行这个页面,不走原生跳转,页面元素不会变小

请说明如何操作会遇到上述问题

No response

在下面填入关键复现代码

复现的平台

Both

Flutter SDK版本

3.16.5,

FlutterBoost版本

5.0.0

是否延迟初始化FlutterBoost

No

解决方案

applebest avatar Jul 11 '24 08:07 applebest

是否有复现Demo可以提供?或者视频提供?

joechan-cq avatar Aug 05 '24 09:08 joechan-cq

是否有复现Demo可以提供?或者视频提供?

视频地址: https://drive.google.com/file/d/1z4CLj3n0_3cjQXhvyzoPs6w7Vm-THcSD/view?usp=drive_link

问题描述: Android混合栈,原生跳转横屏flutter页面,锁屏开屏页面元素变小。 这个问题只有Android有,iOS没有 。纯Flutter页面加载,不通过flutter_boost跳转,直接运行Flutter_ module 设置root路由是这个横屏的flutter页面,开屏锁屏也没有问题。

问题出现操作步骤: 1 原生页面首页 2 点击横屏的flutter页面 3 进入flutter页面正常 4 锁屏再次解锁(前后台切换) 页面元素变小

applebest avatar Aug 06 '24 14:08 applebest

这个问题,我这边没复现出来,感觉和机型OS有些关系。看视频现象,像是屏幕密度不对了,导致整体的绘制都变了。这个你那试着打印一下屏幕密度MediaQuery.of(context).devicePixelRatio看看,锁屏前后有没有变化。如果有变化,就要查下Native上,FlutterViewsendViewportMetricsToFlutter这部分逻辑,看为什么变了。

joechan-cq avatar Aug 15 '24 08:08 joechan-cq

我也有遇到这个问题,横屏状态下,锁屏再打开,页面元素大小发生变化。原因是安卓原生端带有头条屏幕适配方案,把这个去了就能正常显示,建议检查一下原生部分。

albganal avatar Sep 05 '24 07:09 albganal

我也有遇到这个问题,横屏状态下,锁屏再打开,页面元素大小发生变化。原因是安卓原生端带有头条屏幕适配方案,把这个去了就能正常显示,建议检查一下原生部分。

好的,感谢 , 我们这边排查一下

applebest avatar Sep 05 '24 08:09 applebest

我也有遇到这个问题,横屏状态下,锁屏再打开,页面元素大小发生变化。原因是安卓原生端带有头条屏幕适配方案,把这个去了就能正常显示,建议检查一下原生部分。

好的,感谢 , 我们这边排查一下

@albganal 确实是原生的屏幕适配框架的问题,感谢 @joechan-cq AndroidAutoSize 原生使用屏幕适配框架,对整个FlutterBoostActivity横竖屏接管刷新导致

applebest avatar Sep 05 '24 11:09 applebest