WindowManager 的 updateViewLayout取消动画效果

写了一个悬浮窗,添加了移动悬浮窗的功能和一个点击后改变悬浮窗的layoutParams.width和layoutParams.height的效果,但是出现了一个bug,悬浮窗移动后再点击按钮,悬浮窗会从移动前的位置移动到移动后的位置,具体原因不清楚是为什么。在网上找到资料,把updateViewLayout的动画效果通过反射取消掉就可以了。可能还是会移动,只不过没有动画了,应该不是最终解决方案,不过至少肉眼看不出来

java 复制代码
try {
        int currentFlags = (Integer) params.getClass().getField("privateFlags").get(params);
        params.getClass().getField("privateFlags").set(params, currentFlags | PRIVATE_FLAG_NO_MOVE_ANIMATION);
    } catch (Exception e) {
        e.printStackTrace();
    }

如何在 Android 4.0+ 设备上以编程方式禁用"窗口动画缩放"?

相关推荐
Lisonseekpan3 分钟前
UUID vs 自增ID做主键,哪个好?
java·数据库·后端·mysql
利刃大大8 分钟前
【SpringBoot】配置文件 && 日志输出 && lombok
java·spring boot·后端
yueqc19 分钟前
Android System Lib 梳理
android·lib
C+++Python13 分钟前
如何选择合适的锁机制来提高 Java 程序的性能?
java·前端·python
long31621 分钟前
类与对象 | 低级别设计 (LLD)
java·spring boot·学习·程序人生·spring·设计模式·学习方法
专注于大数据技术栈22 分钟前
java学习--String、StringBuilder、StringBuffer 的核心区别
java·学习
我命由我1234525 分钟前
Java 开发问题:包名 ‘com.my.compressimagetest‘ 与同名的类发生冲突
java·开发语言·学习·java-ee·intellij-idea·学习方法·intellij idea
⑩-30 分钟前
Sleep与Wait的区别
java·开发语言
程序员阿鹏31 分钟前
List和Set的区别
java·开发语言·数据结构·后端·list