Внедрение Drag & Drop в Gingerbread - PullRequest
7 голосов
/ 10 января 2012

Мне нужно знать, как я могу реализовать Drag & Drop в Android для версии Gingerbread. Как я знаю, Gingerbread не поддерживает это по умолчанию.

То, что я кодировал: ViewGroup класс для хранения динамически добавленного потомка, каждый ребенок должен после долгого щелчка быть в состоянии быть перемещенным через прикосновение пальца / движение. Чтобы решить эту проблему, у меня есть OnLongClickListener, прикрепленный к каждому дочернему элементу View, а мой ViewGroup реализовал оба метода onTouch() для получения событий down / up / move и метод onLongClick() для ответа на длинный клик по каждому ребенку.

Теперь моя проблема заключается в следующем: я долго касаюсь ребенка, я могу переместить его и завершить действие с помощью события ACTION_UP. Но я не могу долго нажимать на этого ребенка - есть ли способ или библиотека, которая может справиться с этим?

Я думаю, мне не нужна действительно библиотека и функция D & D, потому что я закажу только некоторые значки в этом ViewGroup - каждый ребенок будет добавлен в ViewGroup через код, поэтому у меня нет действительно DropTarget я думаю.

Ответы [ 2 ]

0 голосов
/ 31 декабря 2012

Посмотрите на проект на https://github.com/thquinn/DraggableGridView. Этот код действительно помог мне.

Следуйте onLayout() и onTouch() в классе DraggableGridView.Дайте мне знать, если это было / не было полезно.Это очень похоже на вашу ситуацию с ViewGroup и добавлением просмотров.

0 голосов
/ 12 декабря 2012

Этот пример может вам помочь.Этот пример имеет полную структуру перетаскивания до версии 3.0.А также функция, которую вы запрашиваете с «перетаскиванием брошенного ребенка» по умолчанию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...