【Android高级UI】处理Fling与Animation冲突

问题

Fling与Animation都会自动更新View位置

在自定义View过程中,这两者如果同时进行,就会发生冲突

方案

Animation过程中,暂时禁用Fling

代码
kotlin 复制代码
override fun fling(velocityY: Int) {
  if (!isAnimationFinished)
  	super.fling(0)
  else
  	super.fling(velocityY)
}
扩展

另一种方案是,在Animation过程中,暂时禁用TouchEvent处理

这样就只会执行动画,不会有位置计算冲突了

相关推荐
非典型Android程序员13 分钟前
Launcher学习总结
android
Coffeeee1 小时前
Android功耗优化,哪些代码会让你的机子发热又耗电
android·架构·kotlin
xianrenli382 小时前
Android14自动时区更新
android·学习·framework·aosp14·自动时区
心中有国也有家2 小时前
AtomGit Flutter 鸿蒙客户端:零外部资源的应用打包策略
android·javascript·flutter·华为·harmonyos
恋猫de小郭2 小时前
Fluter 共享内存多线程正在落地,IsolateGroupBound 来了
android·前端·flutter
三少爷的鞋3 小时前
Kotlin 协程的七重境界:从 launch(IO) 到执行模型设计
android
-SOLO-13 小时前
Android Event 日志完全指南
android
壮哥_icon14 小时前
【Android 系统开发】从掉帧卡顿到丝滑:高频硬件中断(IRQ)的 CPU 亲和性性能优化实战
android·性能优化
千里马学框架14 小时前
Android Framework 新手学习踩坑建议指南
android·智能手机·性能优化·framework·aaos·车载开发·系统工程师
我命由我1234516 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime