Это открытый вопрос об Android ListViews, жестах и анимации.Я действительно не знаком с жестами в Android, поэтому я просто ищу идеи и серое вещество по этому вопросу.
Вот два скриншота и видео примеры влияния на то, чтоЯ пытаюсь размышлять.Попробуйте посмотреть видео, оно действительно того стоит.
![enter image description here](https://i.stack.imgur.com/0FEOC.png)
![enter image description here](https://i.stack.imgur.com/NlCF8.png)
Снимки экрана взяты из проекта с открытым исходным кодом iOS, найденного здесь .
Вопрос в том, как бы вы реализовали жест «открытия списка», подобный тому, который я вижу все чаще и чаще в приложениях для iPhone / iPad, но для Android?
Редактировать 1, идея 1:
Хорошо, первая идея, AFAIK Жест Pinch чем-то похож на жест перетаскивания, поэтому я думаю, мы можем получить координаты X и Yиз двух пальцев на экране?
Далее может помочь ответ на этот вопрос , основная идея такова:
Получить индексную позициюпервый видимый элемент в списке
Получить индексную позицию последнего видимого элемента в списке
Итерация от первого индекса до последнего с помощью функции getChildAt
Для каждого дочернего элемента вызовите метод getLocationOnScreen , чтобы получить координатытекущий повторяющийся элемент
После этого можно провести некоторое сравнение между координатами жеста сжатия и координатами каждого элемента внутри цикла, чтобы получить два элемента, между которыми должна быть вставлена новая строка.
Появились соображения о производительности Я думаю, это могло бы сработать, но, может быть, есть более простой способ получить эти два элемента (?).
Кто следующий?:)
Обновление:
Спасибо за подсказку @rhlnair, я пользуюсь случаем, чтобы сказать всем, что я начал работать над этимВ свободное время вы можете помочь мне в этом.
Проект находится на https://github.com/arnaudbos/Android-GestureListView. Я запустил две разные реализации в двух разных ветках и хотел бы, чтобы кто-нибудь создал новую ветку.
У меня есть кое-что действительно обнадеживающее в ветке "попытка-через-масштаб-детектор жестов", но некоторые побочные эффекты от ListView.
Давай, ребята!