Перемещение вида пальцем - PullRequest
3 голосов
/ 15 февраля 2012

Я начал изучать Android не так давно, и у меня возник вопрос, какой подход я должен использовать для решения простой задачи.Предположим, у меня есть вид (возможно, кнопка), и я хочу, чтобы пользователь мог перемещать его по экрану пальцем.Пока AbsoluteLayout не устарел, правильный подход казался очевидным.Я бы просто изменил позицию своего взгляда на основании соответствующих событий.Но что сейчас?

Ответы [ 3 ]

5 голосов
/ 15 февраля 2012

Создайте свой собственный вид и добавьте прослушиватель событий onTouch. Это очень просто. Очень хорошо объяснил здесь .

0 голосов
/ 15 февраля 2012

Я использую FrameLayout и обновляю marginLeft и marginTop

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

из документов для Android:

FrameLayout предназначен для блокировки области на экране для отображения один предмет. Как правило, FrameLayout должен использоваться для хранения одного дочерний вид, потому что может быть трудно организовать дочерние взгляды в так, что это масштабируется до разных размеров экрана без детей перекрывая друг друга. Тем не менее, вы можете добавить несколько детей к FrameLayout и контролировать их положение в FrameLayout с помощью присвоение гравитации каждому ребенку с помощью андроида: layout_gravity атрибут.

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

0 голосов
/ 15 февраля 2012

Если вы пытаетесь перемещать свои представления для навигации по своему приложению или странице с изображениями в галерее, Android предоставляет коллекцию виджетов для подобных действий. Если, например, вы пытаетесь перемещаться по большому изображению, возможно, это поможет: Изображение в Canvas с сенсорными событиями

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