Удаление салфетки на Recycleview очень чувствительно - PullRequest
0 голосов
/ 28 июня 2018

У меня есть Recycleview с CardView, и я реализую эту опцию пролистывания. Когда пользователь проведет пальцем вправо, карту необходимо удалить. Проблема в том, что действие очень чувствительное - когда вы нажимаете или немного перетаскиваете карту, оно выполняет действие. Что я могу сделать, чтобы исправить это, чтобы быть менее чувствительным, только если вы, например, перетаскиваете карту до конца экрана?

1 Ответ

0 голосов
/ 28 ноября 2018

Просто переопределите метод getSwipeEscapeVelocity () в классе ItemTouchHelper.Callback:

public class SwipeToDeleteTouchHelperCallback extends ItemTouchHelper.SimpleCallback {
    //constructor, another methods, etc...

    @Override
    public float getSwipeEscapeVelocity(float defaultValue) {
        return defaultValue * 10;//10 -> almost insensitive
    }
}

Если вы хотите изменить "borderline of swipe", переопределите другой метод в этом классе:

@Override
public float getSwipeThreshold(@NonNull RecyclerView.ViewHolder viewHolder) {
    // 0.75 - you need to drag item by 75% of his width(or height) to dismiss
    // default value is 0.5f
    return 0.75f;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...