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

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

相关推荐
Ya-Jun3 小时前
常用第三方库:flutter_boost混合开发
android·flutter·ios
_一条咸鱼_5 小时前
深度剖析:Android NestedScrollView 惯性滑动原理大揭秘
android·面试·android jetpack
_一条咸鱼_5 小时前
深度揭秘!Android NestedScrollView 绘制原理全解析
android·面试·android jetpack
_一条咸鱼_5 小时前
揭秘 Android CoordinatorLayout:从源码深度解析其协同工作原理
android·面试·android jetpack
_一条咸鱼_5 小时前
揭秘 Android View 的 TranslationY 位移原理:源码深度剖析
android·面试·android jetpack
_一条咸鱼_5 小时前
揭秘 Android NestedScrollView 滑动原理:源码深度剖析
android·面试·android jetpack
_一条咸鱼_5 小时前
深度揭秘:Android NestedScrollView 拖动原理全解析
android·面试·android jetpack
_小马快跑_5 小时前
重温基础:LayoutInflater.inflate(resource, root, attachToRoot)参数解析
android
_一条咸鱼_5 小时前
揭秘!Android RecyclerView 预取(Prefetch)原理深度剖析
android·面试·android jetpack
_一条咸鱼_5 小时前
揭秘 Android ImageView:从源码深度剖析使用原理
android·面试·android jetpack