BasePopup
BasePopup copied to clipboard
在DialogFragment上弹窗,其蒙层的位置出现异常偏移。
- 系统版本(必须)/ System version (required):Android 9 平板设备型号是Fire HD 10(第十一代)
- 库版本(必须)/ Library version (required):3.2.1
- 问题代码/截图(可选)/ Problem code or screenshot (optional): 在Demo中->API列表->构造器页面,点击DialogFragment弹窗。
出现的问题是,蒙层的位置不正确,存在偏移。
查看代码后,发现问题出在WindowManagerProxy类的内部类BeforeApi30Impl,里面的这一行代码
p.flags |= LayoutParams.FLAG_LAYOUT_IN_SCREEN;
如果将这行代码注释,那么显示是正常的,尺寸会被限制在父窗口的尺寸范围,如下图:
然后我在另一个Android 8的华为手机用这个flag,显示的蒙层却能铺满屏幕。
然后我在Api30Impl里面加上这行代码在其它平板却也能正常显示,例如,在三星的Galaxy Tab S6 Lite(Android13)上正常显示,其它平板也是正常显示,如下图:
想问下大大是不是亚马逊这个平板的系统问题,还是这个flag不靠谱,有没有什么比较好的方式能适配这个亚马逊平板?
- 报错信息(可选)/ Error reporting information (optional): 蒙层的位置不正确,存在偏移。
问题描述/重现步骤请写在这里 在Demo中->API列表->构造器页面,点击DialogFragment弹窗,出现的蒙层未能铺满屏幕。只是特定机型存在问题。