переместить вид в зависимости от направления движения

У меня есть группа imageView, которую я хочу переместить в зависимости от направления движения, но проблема в том, что они перестают двигаться вниз после первого прокрутки вниз, то же самое для вверх и влево и вправо.

вот мой код:

imageView.setOnTouchListener(object : OnSwipeTouchListener(this) { override fun onSwipeTop() { dis = distance(imageView) imageView.animate().translationY(-dis) } override fun onSwipeLeft() { dis = distance(imageView) imageView.animate().translationX(-dis) } override fun onSwipeRight() { dis = distance(imageView) imageView.animate().translationX(dis) } override fun onSwipeBottom() { dis = distance(imageView) imageView.animate().translationY(dis) } }) 

здесь реализована функция distance ():

 fun distance(_view: ImageView): Float { when (resources.displayMetrics.density) { 0.75F -> return 60F 1F -> return 80F 1.5F -> return 120F 2F -> return 160F 3F -> return 240F 4F -> return 320F else -> return 0F } }