首页 > 解决方案 > 如何使用 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 语句尝试了这个,但这不起作用。有人可能现在是什么问题吗?

提前非常感谢:)

标签: kotlinobjectanimator

解决方案


推荐阅读