xuyingke/FloatWindowX

横竖屏切换问题

Closed this issue · 10 comments

竖屏下浮窗移动位置过于靠下,切换横屏浮窗就不显示了,而且只能横屏只能移动屏幕一半区域,横竖屏切换能否调整更新一下悬浮球位置?

不太建议浮窗自身处理这个问题,因为很可能造成和你的项目耦合。

我的建议是你自己监听屏幕切换,然后调用 :
FloatX.get().getFloat(flag).updateViewLocation(x, y)
更新浮窗在切换屏幕后的位置。这样可能更加灵活。

自己调用updateViewLocation(x, y) 可行,那横屏只能移动屏幕一半区域这个有修改的建议吗?

横竖屏切换,宽高值会有差异的。你说的是 x 只能移动一半,还是 y 只能移动一半?

x只能移动一半,横屏状态下,宽高计算的其实还是竖屏的

宽高计算和设置的代码检查一下。理论上横屏后 Display 的 x y 已经换过来了。

检查了一下是我设置android:screenOrientation="portrait"的问题,但这个属性必须加,所以横屏获取的宽高还是竖屏的。

我再想想其他办法吧

测试了一下FloatWindowX源码也是存在这个问题的,我正在看https://github.com/huxq17/FloatBall对横竖屏的处理,这个库没有上述问题

FloatWindowX 和 demo 都没有去处理横竖屏的监听,当然是有问题的。监听横竖屏和业务相关,如果库本身去监听并不合适,所以暴露了更新位置的 api。