前置知识:windowManager向window添加、更新、删除view过程_yu_ren_的博客-CSDN博客
对于悬浮窗的操作,最直观的选择便是直接通过修改其layoutParam的x, y, width, height等,然后通过windowmanger的updateView()方法进行更新重新绘制。
悬浮窗的移动确实可以采用此办法,不断改变x,y,简单直观。但是如果缩放也采用此方法,虽然可以达到缩放的目的,但是掉帧严重,有频繁卡顿现象,用户体验极差。
于是我便想,既然view 的缩放并不会卡顿,是不是可以将这个问题转化为view的缩放,而不进行window的不断更新呢?经过不断不断不断不断的试错,终于,黄天不负有心人,让我想出了一个可以平滑缩放的方法。
FLAG_NOT_TOUCHABLE表示完全不接受任何事件,完全透传。