当前位置: 首页 > article >正文

android launcher拖动图标释放错位

由于为了设备流畅把所有动画效果设置为0.5,不设置为0是因为锁屏在开机时会有闪黑屏的现象。在此背景下,测试发现在拖动桌面图标时,在图标动画过程中错位时释放图标,则图标会留在错位的位置,不会自动对齐。

原因就是动画导致的,追踪动画的代码非常困难,只能通过各种anima关键词添加log,找到触发的位置进行逻辑修改。

最终发现是拖动时会有上下振动的动画效果,去掉即可。
标志位FeatureFlags.REMOVE_DRAWER控制,默认true。

Index: packages/apps/Launcher3/src/com/android/launcher3/CellLayout.java
===================================================================
--- packages/apps/Launcher3/src/com/android/launcher3/CellLayout.java	(版本 4536)
+++ packages/apps/Launcher3/src/com/android/launcher3/CellLayout.java	(版本 4537)
@@ -2210,7 +2210,7 @@
             // Animations are disabled in power save mode, causing the repeated animation to jump
             // spastically between beginning and end states. Since this looks bad, we don't repeat
             // the animation in power save mode.
-            if (areAnimatorsEnabled()) {
+            if (areAnimatorsEnabled() && !FeatureFlags.REMOVE_DRAWER) { // @ modify for BUG #
                 va.setRepeatMode(ValueAnimator.REVERSE);
                 va.setRepeatCount(ValueAnimator.INFINITE);
             }


http://www.kler.cn/a/544105.html

相关文章:

  • sql难点
  • 探索RDMA技术:从基础到实践
  • 如何在Excel和WPS中进行翻译
  • 搜维尔科技在动作捕捉与动画制作、汽车制造与安全测试、机器人与自动化领域的一些案例
  • uniapp中对于文件和文件夹的处理,内存的查询
  • Deepseek 接入Word处理对话框(隐藏密钥)
  • 【C/C++】位段
  • 利用kali linux 进行自动化渗透测试
  • c#中“事件-event”的经典示例与理解
  • 如何对比Android组件快速学习鸿蒙Next开发
  • 网络安全检测思路
  • 接入 SSL 认证配置:满足等保最佳实践
  • [MySQL]3-MySQL查询性能优化
  • 浏览器自动化与AI Agent结合项目browser-use初探
  • redis 缓存击穿问题与解决方案
  • 数据守护:备份文件的重要性及自动化备份实践指南
  • GPT-SWARM和AgentVerse的拓扑结构和交互机制
  • Java面试——Tomcat
  • w~大模型~合集30
  • pdf.js默认显示侧边栏和默认手形工具
  • 【c++】四种类型转换形式
  • OpenWRT中常说的LuCI是什么——LuCI介绍(一)
  • 团结引擎高性能ECS架构(下)
  • 城电科技|海岛为什么要用智能光伏太阳花
  • Python练习11-20
  • 【机器学习】数学知识:拉格朗日对偶(Lagrange Duality)