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+ 设备上以编程方式禁用"窗口动画缩放"?

相关推荐
荣码16 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
黄林晴17 小时前
Room 3.0 正式发布!包名彻底重构,KMP 成为核心主线
android·android jetpack
三少爷的鞋17 小时前
Kotlin 协程环境下的 DCL 懒加载:别把线程时代的经验直接搬过来
android
plainGeekDev18 小时前
Gson → kotlinx.serialization
android·java·kotlin
小bo波1 天前
Java Swing 图形用户界面实验 —— 从算术练习到游戏开发的完整实践
java·课程设计·gui·游戏开发·扫雷·swing
咖啡八杯1 天前
GoF设计模式——备忘录模式
java·后端·spring·设计模式
CYY951 天前
Compose 入门篇
android·kotlin
杉氧1 天前
Compose 时代的 MVI 架构:如何用单向数据流驱动复杂 UI?
android·架构·android jetpack