У меня есть список (recycleView) имен.Некоторые имена короткие, некоторые длинные.Я хочу удалить их при пролистывании, но хочу убедиться, что пользователь пролистывает более половины расстояния экрана (или ширины списка).
В настоящее время это происходит по длине отдельного элемента.
Я знаю, как сильно ударить при удалении.Я попытался переопределить getSwipeThreshold, но опять-таки он использует размер элемента в качестве своей базы.
Вот код, потому что SO хочет код:
RecyclerView recyclerView = findViewById(R.id.edit_list);
final MyRecyclerViewAdapter adapter = new
MyRecyclerViewAdapter(this, qnames);
//set swipe behavior
ItemTouchHelper.SimpleCallback itemTouchHelperCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
return false; //do not allow move
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
// Row is swiped from recycler view
int position = viewHolder.getAdapterPosition(); //get position which is swipe
qnames.remove(position); //remove from display list
adapter.notifyItemRemoved(viewHolder.getLayoutPosition()); //update the view
}
@Override
public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
// view the background view
super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
}
@Override
public float getSwipeThreshold( RecyclerView.ViewHolder viewHolder){
return .9f;
}
Вот несколько картинок.

Так как мне установить порог считывания на половину экрана?