ImageView неверные координаты XY - PullRequest
       12

ImageView неверные координаты XY

0 голосов
/ 13 декабря 2018

У меня возникли проблемы с получением правильных координат (XY) для моего ImageView.

Мой макет выглядит следующим образом:

<Relativelayout>
    <Relativelayout>
        <LinearLayout>
            //I want to get the X and Y of this imageview
            <ImageView/>
        </LinearLayout>
    </Relativelayout>
</Relativelayout>

После просмотра Подобный вопрос Я реализовал следующее:

int[] img_coordinates = new int[2];
mImageView.getLocationOnScreen(img_coordinates);
double x = (double)img_coordinates[0];
double y = (double)img_coordinates[1];

Просто чтобы убедиться, что я добавил выше в ViewTreeObserver, вот так:

mImageView.getViewTreeObserver().addOnGlobalLayoutListener(
    new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {
            int[] img_coordinates = new int[2];
            mImageView.getLocationOnScreen(img_coordinates);
            float x = (double)img_coordinates[0];
            float y = (double)img_coordinates[1];
    }
});

У меня проблемаявляется то, что возвращаемое значение XY неверно


Мой вопрос:

Есть ли причина, по которой я получаю неправильные координаты и как я могу получитьправильные?


РЕДАКТИРОВАТЬ:

Я решил предоставить весь мой XML-файл макета с pastebin, потому что он очень большой и потребуется некоторое время для его форматированияв ТАК. Здесь - ссылка.

Кроме того, вот изображение того, чего я хотел бы достичь:

enter image description here

...