В настоящее время я отклоняю вид внизу экрана, когда пользователь проводит по нему пальцем.Проблема в том, что когда вы проводите пальцем вправо, анимация увольнения выглядит правильно (она движется в направлении вправо).
Однако, когда вы проводите пальцем влево, анимация все еще движется в направлении пролистывания вправо.
Цель состоит в том, чтобы разрешить смахивание в любом направлении.
В нашей собственной кодовой базе мы никогда не определяли, что анимация увольнения будет направлена вправо.Это просто так по умолчанию, и я не могу найти ничего в документах 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 секунд вы можете четко видеть, как пользователь проводит пальцем справа налево, а анимация удаления карты идет слева направо