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

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

相关推荐
天空之城--4 小时前
Android Koin 完全指南:从原理到实践
android
zhangphil5 小时前
Android main thread主线程Choreographer doFrame发生FullSuspendCheck
android
TimeFine8 小时前
智能眼镜开发:获取真实的音频路由
android
pengyu9 小时前
【Kotlin 协程修仙录 · 渡劫境 · 中阶】 | 造化神兵:自定义 CoroutineDispatcher 与调度器的终极定制
android·kotlin
pengyu9 小时前
【Kotlin 协程修仙录 · 渡劫境 · 初阶】 | 飞升雷劫:CPS 变换与挂起函数字节码终极透视
android·kotlin
TimeFine9 小时前
智能眼镜开发:眼镜Touch后收音与触发播放系统音乐的矛盾处理
android
TimeFine10 小时前
智能眼镜开发:眼镜侧收集音频
android
又见情义10 小时前
Android 系统设置从平板版迁移至TV版实践
android
杉氧13 小时前
打破边界(一):实战编写 Android/iOS 原生模块 (Native Modules)
android·react native·前端框架