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

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

相关推荐
参宿四南河三3 小时前
Android Compose SideEffect(副作用)实例加倍详解
android·app
火柴就是我3 小时前
mmkv的 mmap 的理解
android
没有了遇见3 小时前
Android之直播宽高比和相机宽高比不支持后动态获取所支持的宽高比
android
shenshizhong4 小时前
揭开 kotlin 中协程的神秘面纱
android·kotlin
vivo高启强4 小时前
如何简单 hack agp 执行过程中的某个类
android
沐怡旸4 小时前
【底层机制】 Android ION内存分配器深度解析
android·面试
你听得到115 小时前
肝了半个月,我用 Flutter 写了个功能强大的图片编辑器,告别image_cropper
android·前端·flutter
KevinWang_5 小时前
Android 原生 app 和 WebView 如何交互?
android
用户69371750013845 小时前
Android Studio中Gradle、AGP、Java 版本关系:不再被构建折磨!
android·android studio
杨筱毅6 小时前
【底层机制】Android低内存管理机制深度解析
android·底层机制