2016-08-12 20 views
1

Я хочу переместить вид вместо другого представления, используя метод view.animate().Поместите вид точно по другому виду, используя view.animate()

Так это сценарий:

У меня есть следующий макет: Initial layout (скриншот)

И когда кран/нажимает красную изображения, я хочу, чтобы изображение можно перемещать (т.е. анимированных/translated) точно в том месте, где находится облачная рамка. Но, когда я использую этот код:

view.animate().x(target.getX()).y(target.getY()).setDuration(200).start(); 

Результат выглядит следующим образом: My result (скриншот)

Каковы реальные координаты целевой точки зрения? Почему изображение не размещено точно в границах целевого представления? Представления имеют одинаковый размер.

+0

Мне интересно, является ли маржа/отступы проблемой. если вы установите их на любом из видов, вы можете удалить их и посмотреть, что произойдет. если это проблема, то просто вычтите эту маржу/дополнение при вычислении целей X и Y. – liminal

+0

Представления чистые. Я не устанавливал никаких полей или дополнений. – Emilian

ответ

0

Если вы используете target.getX(), вы не получите абсолютную позицию x на экране. Предлагаю вам использовать View.getLocationOnScreen()

+0

Я пробовал. Та же проблема. – Emilian