ListView и жесты мультитач - PullRequest
       16

ListView и жесты мультитач

1 голос
/ 20 октября 2010

Во-первых, я понимаю, что это не соответствует какому-то конкретному соглашению.Мне просто интересно, возможно ли это.

Я хотел бы дать своим пользователям возможность выполнять действия со многими элементами в ListView.Мои элементы ListView уже содержат флажок для чего-то другого;и добавление другого флажка не вариант (это будет выглядеть уродливо?).

Мне было интересно, можно ли программно выделить несколько элементов, определив, какие элементы были покрыты смахиванием двумя пальцами.1006 * Это потребует нескольких вещей:

1) ListView в Android должен был бы определять разницу между проведением двумя пальцами и проведением одним пальцем.2) Мне нужно было бы уточнить, какой код вызывает нажатие двумя пальцами.3) В идеале, если я проводлю двумя пальцами и мои пальцы достигают нижней части экрана, ListView начинает прокручиваться;так что я мог бы продолжать выделять элементы, которые изначально были за кадром.4) ListView должен был бы быть в состоянии выделить более одного параметра.

Номер 4, вероятно, можно было бы взломать, если бы я мог определить, какие элементы были переданы двумя пальцами.Я мог бы взломать мой собственный "выбор".После этого я бы предоставил некоторую функциональность с помощью кнопки «Меню», чтобы что-то сделать с этими выделенными элементами.

Возможно ли что-либо из этого?Что ты думаешь?

1 Ответ

1 голос
/ 20 октября 2010

# 1 и # 2 могут быть обработаны через GestureDetector, наложенным поверх вашего ListView. Тем не менее, это, вероятно, противоречит # 3. # 4, вероятно, не будет обрабатываться стандартным состоянием «выбора» Android, но вы можете вручную настроить представления (например, показать ранее невидимый значок, изменить цвет фона чего-либо).

# 3, тем не менее, на самом деле кажется, что для этого потребуются изменения самого ListView, и мне это кажется довольно неприятным, учитывая код ListViewAbsListView).

Один из способов - интерпретировать ваши жесты как аддитивные (новый жест двумя пальцами не очищает предыдущий мульти-выбор, но добавляет больше к существующему), используя пункт меню, чтобы очистить предыдущий выбор. Затем пользователь может выбрать некоторые, прокрутить, выбрать еще несколько и т. Д.

Несмотря на это, я подозреваю, что это будет не очень заметно. Вы предполагаете, что люди узнают о жестах RTFM, и мы оба знаем, насколько хорошо работает . Имея это в качестве опции, это здорово, но убедитесь, что все, что сделано таким образом, также может быть выполнено с помощью некоторых других более традиционных средств.

...