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

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

相关推荐
刮风那天24 分钟前
Android AMS创建进程不用Binder而用Socket?
android·java·binder
知行合一。。。2 小时前
Python--05--面向对象(继承,多态)
android·开发语言·python
张小潇4 小时前
AOSP15 WMS/AMS系统开发 -窗口动画源码分析
android
程序员陆业聪5 小时前
Shadow核心原理:壳子Activity与代理机制的精妙设计
android
plainGeekDev5 小时前
Android 开发者再不转Kotlin,真的来不及了
android·kotlin
赏金术士5 小时前
第五章:数据层—网络请求与Repository
android·kotlin·compose
初雪云6 小时前
让安卓发版再简单一点,体验一键自动化发布
android·运维·自动化
jushi89996 小时前
抖音APP抖音助手增强版 内置逗音小手 支持无水印下载/音频提取/去广告等功能
android·智能手机·音视频
plainGeekDev7 小时前
Android 专家岗 Kotlin 面试题:能答出这些,说明你对语言设计有自己的理解
android·kotlin
plainGeekDev7 小时前
Android 资深岗 Kotlin 面试题:只会用协程不够,你得懂它为什么这么设计
android·kotlin