Как я могу реализовать жест смахивания для удаления, точно так, как показано в документации Material Design? - PullRequest
0 голосов
/ 06 апреля 2020

Я хочу реализовать жест смахивания для удаления для моего ListView, и в документах Material Design показано, что это можно сделать (см. здесь ). Есть ли простой способ сделать это, или я должен реализовать пользовательский класс, который расширяет ItemTouchHelper.SimpleCallback, чтобы добавить это поведение?

1 Ответ

0 голосов
/ 06 апреля 2020

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

Из представления списка (это дочернее представление, которое вызывается в адаптере, я имею в виду, containerView )

Rect rect = new Rect();
child.getGlobalVisibleRect(rect);

Приведенный выше код даст вам позицию представления в окне с обеими левыми, верхними, правыми и нижними координатами.

Открывая упражнение, вы можете создать намерение как this:

Intent intent = new Intent(context, DetailsActivity.class);

// This is the "rect" you got above, the view's coordinates in screen.
intent.setSourceBounds(rect);

// Pass necessary elements through Intent.putExtra()
// These will contain the product's information.
// DO NOT PASS IMAGES HERE, ONLY PASS IMAGE REFERENCES.
intent.putExtra("name", product.name);

// Then start the activity normally.
context.startActivity(intent);

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

...