kotlin - 如何使用 objectanimator 继续移动视图?
问题描述
我是 objectanimator 的新手,我试图不断地移动视图。这是我目前拥有的代码。
val mdisp = windowManager.defaultDisplay
val mdispSize = Point()
mdisp.getSize(mdispSize)
val maxX: Int = mdispSize.x
val maxY: Int = mdispSize.y
val maxYchar = maxY.toFloat()
val maxXchar = maxX.toFloat()
val minYchar = 0f
val minXchar = 0f
circle.x = 0f
circle.y = 0f
if (circle.y == minYchar && circle.x == minXchar){
val translationX = PropertyValuesHolder.ofFloat(View.TRANSLATION_X, maxXchar + 200)
val translationY = PropertyValuesHolder.ofFloat(View.TRANSLATION_Y, maxYchar / 2)
val animator = ObjectAnimator.ofPropertyValuesHolder(circle, translationX, translationY)
animator.duration = 2000
animator.start()
}
if (circle.y == maxYchar / 2 && circle.x == maxXchar + 200){
val translationX = PropertyValuesHolder.ofFloat(View.TRANSLATION_X, maxXchar / 2)
val translationY = PropertyValuesHolder.ofFloat(View.TRANSLATION_Y, maxYchar)
val animator = ObjectAnimator.ofPropertyValuesHolder(circle, translationX, translationY)
animator.duration = 2000
animator.start()
}
我正在尝试将一个圆圈移动到屏幕左侧的中间。当它触摸时,它需要移动到屏幕底部的中间。但是当它触及左侧时。它停在那里。我用两个 if 语句尝试了这个,但这不起作用。有人可能现在是什么问题吗?
提前非常感谢:)
解决方案
推荐阅读
- azure - Azure 存储的数据保留
- python - 尝试使用 matplotlib,但出现错误
- swift - 访问函数 Swift 之外的变量
- sql - 在定期刷新实时 SQL Server 表的新服务器上设置新数据库的最佳方法是什么?
- java - 无论如何在Idea中识别由lombok在同一模块中生成的getter/setter
- xamarin - Xamarin.Android 中的 JavascriptInterface 已过时,无法从 Javascript 调用 C#
- c# - 为什么更改 Exchange 传输代理中的发件人/发件人会导致该用户的主地址?
- html - 如何在本地存储中进行角度更新用户名的当前用户值
- python - 如何在 python 中使用多处理附加到类变量?
- r - R函数获取均值差异的置信区间