2015-09-22 6 views
0

Мне нужно знать координаты XY ImageView. Эти координаты будут использоваться для позиционирования нового ImageView на Overlay RelativeLayout, который должен иметь такое же положение для запуска ImageView.Android - получить координаты изображения XY

Summerize: 1) ImageView1 = getcoordinates XY 2) нажатие кнопки 3) Накладка RelativeLayout, которые покрывают все окно. ImageView1 будет за этим наложением RelativeLayout 4) Создайте ImageView2 в оверлее RelativeLayout, который должен быть расположен точно на ImageView1

Любая помощь? Благодаря

+0

использование 'ImageView # getImageMatrix()', чтобы получить 'Matrix', который используется для рисования изображения на' ImageView', из документации: '" This (Matrix) применяется к функции представления вытяжке когда он нарисован. "' – pskink

ответ

0

Если ImageView находится в корневой иерархии, вы можете просто позвонить

imageView.getLeft(); // x-coordinate 
imageView.getTop(); // y-coordinate 

Однако это работает только если ImageView находится в корневой иерархии, так как возвращаемое значение по отношению к его родителю.

Если ImageView вложен, а не в корневой иерархии, используйте

public void getLocationOnScreen (int[] location)

Вычисляет координаты этой точки зрения на экране. Аргумент должен быть быть массивом из двух целых чисел. После возвращения метода массив содержит местоположение x и y в этом порядке.

int[] location = new int[2]; 
imageView.getLocationOnScreen(location); 

int x = location[0]; 
int y = location[1]; 
+0

Я просто попробовал imageView.getLocationOnScreen (location), но когда я установил эти значения в новом ImageView, он не будет правильно размещен. Можно ли привести пример того, как установить эти значения в новом ImageView? спасибо –

+0

@AugustoPicciani, конечно, он не позиционируется правильно, потому что Матрица ImageView «применяется к чертежу, когда он нарисован» – pskink

+0

@AugustoPicciani, так как вы используете RelativeLayout, установка позиции представления не должна работать. что вы можете сделать, это использовать координаты x и y и установить его как левое и верхнее поле изображения. – desmondtzq

Смежные вопросы