Android. Неплавное перемещение view по оси y

В кастомной View переопределён метод onTouchEvent, чтобы можно было перемещать вьюшку по экрану приложения. По оси X вьюшка перемещается плавно и без каких-либо проблем, но когда начинаю водить её по оси Y, она перемещается по этой оси, но на небольшое расстояние и дёргаясь. В чём может быть проблема?

    class CustomTextView @JvmOverloads constructor(
        context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : androidx.appcompat.widget.AppCompatTextView(context, attrs, defStyleAttr) {

        companion object {
                var xMove = 0f
                var yMove = 0f
        }

        override fun onAttachedToWindow() {
                super.onAttachedToWindow()
                setParams()
        }

        private fun setParams() {
                val params = layoutParams
                params.height = 100
                layoutParams = params
        }

        override fun onTouchEvent(event: MotionEvent?): Boolean {
                when (event?.action) {
                        MotionEvent.ACTION_DOWN -> {
                                xMove = x - event.rawX
                                yMove = y - event.rawY
                        }
                        MotionEvent.ACTION_MOVE -> {
                                animate()
                                        .x(event.rawX + xMove)
                                        .y(event.rawY + yMove)
                                        .setDuration(0)
                                        .start()
                        }
                        MotionEvent.ACTION_UP -> {
                                performClick()
                        }
                }
                invalidate()
                return true
        }

        override fun performClick(): Boolean {
                return super.performClick()
        }
}

Ответы (0 шт):