BasePopup icon indicating copy to clipboard operation
BasePopup copied to clipboard

在DialogFragment上弹窗,其蒙层的位置出现异常偏移。

Open Suguiqiang opened this issue 1 year ago • 0 comments

  • 系统版本(必须)/ System version (required):Android 9 平板设备型号是Fire HD 10(第十一代)
  • 库版本(必须)/ Library version (required):3.2.1
  • 问题代码/截图(可选)/ Problem code or screenshot (optional): 在Demo中->API列表->构造器页面,点击DialogFragment弹窗。

出现的问题是,蒙层的位置不正确,存在偏移。

screenshot1727677324606

查看代码后,发现问题出在WindowManagerProxy类的内部类BeforeApi30Impl,里面的这一行代码 p.flags |= LayoutParams.FLAG_LAYOUT_IN_SCREEN;

如果将这行代码注释,那么显示是正常的,尺寸会被限制在父窗口的尺寸范围,如下图: screenshot1727677366597

然后我在另一个Android 8的华为手机用这个flag,显示的蒙层却能铺满屏幕。

然后我在Api30Impl里面加上这行代码在其它平板却也能正常显示,例如,在三星的Galaxy Tab S6 Lite(Android13)上正常显示,其它平板也是正常显示,如下图: screenshot1727678363820

想问下大大是不是亚马逊这个平板的系统问题,还是这个flag不靠谱,有没有什么比较好的方式能适配这个亚马逊平板?

  • 报错信息(可选)/ Error reporting information (optional): 蒙层的位置不正确,存在偏移。

问题描述/重现步骤请写在这里 在Demo中->API列表->构造器页面,点击DialogFragment弹窗,出现的蒙层未能铺满屏幕。只是特定机型存在问题。

Suguiqiang avatar Sep 30 '24 06:09 Suguiqiang