【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处理

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

相关推荐
黄林晴2 小时前
Google Play 发版链路全面重构:合规前置、审核自动化、生态全面收紧
android·google
通玄4 小时前
Jetpack Compose 入门系列(四):动画基本使用
android
杉氧4 小时前
Kotlin 协程深度解析②:生存指南——掌握结构化并发的生命线
android·kotlin
故渊at4 小时前
第四板块:Android 输入系统与触控事件 | 第十五篇:InputReader 与 InputDispatcher 的触控流水线
android·anr·输入系统·inputdispatcher·inputreader·触控事件·inputevent
方白羽4 小时前
Vibe Coding 四个核心阶段
android·前端·app
潘潘潘6 小时前
Android网络结构分析——有线网络
android
踏雪羽翼6 小时前
Android OpenGL实现十几种美颜功能
android
Android小码家8 小时前
BootAnimation+SE+开机MP4动画播放
android·framework
加农炮手Jinx8 小时前
Flutter for OpenHarmony:pub_updater 命令行工具自动更新专家(DevOps 运维必备) 深度解析与鸿蒙适配指南
android·运维·网络·flutter·华为·harmonyos·devops