Android View отклоняет анимацию в неправильном направлении - PullRequest
0 голосов
/ 10 июня 2019

В настоящее время я отклоняю вид внизу экрана, когда пользователь проводит по нему пальцем.Проблема в том, что когда вы проводите пальцем вправо, анимация увольнения выглядит правильно (она движется в направлении вправо).

Однако, когда вы проводите пальцем влево, анимация все еще движется в направлении пролистывания вправо.

Цель состоит в том, чтобы разрешить смахивание в любом направлении.

В нашей собственной кодовой базе мы никогда не определяли, что анимация увольнения будет направлена ​​вправо.Это просто так по умолчанию, и я не могу найти ничего в документах SwipeDismissBehavior (https://developer.android.com/reference/android/support/design/widget/SwipeDismissBehavior), которые меняют это.

Вот лишь краткий фрагмент того, как выглядит блок кода.Я надеялся на какой-нибудь метод setSwipeAnimationDirection () или что-то подобное. Или даже анимация следовала бы направлению пролистывания по умолчанию, но, похоже, это не так.

private fun initSwipeBehavior(view: View) {
        val swipe = DragAwareSwipeDismissBehavior()
        swipe.setSwipeDirection(SwipeDismissBehavior.SWIPE_DIRECTION_END_TO_START)
        swipe.setListener(object : SwipeDismissBehavior.OnDismissListener {
            override fun onDismiss(view: View) {
                viewModel.dismiss(true)

                //set the alpha value back to 1.0f so that mini player shows up the next time
                //it needs to be shown
                view.alpha = 1.0f
            }

            override fun onDragStateChanged(state: Int) {}
        })

        val coordinatorParams = view.layoutParams as LayoutParams
        coordinatorParams.behavior = swipe
    }

Вот пример того, чтоэто выглядит следующим образом. https://www.androhub.com/swipe-dismiss-cardview-with-coordinator-layout/

Это не мое видео, но через 15 секунд вы можете четко видеть, как пользователь проводит пальцем справа налево, а анимация удаления карты идет слева направо

...