Координаты ImageView

в методе onCreate я хочу получить координаты центра ImageView относительно всего экрана но почему переменные startX,a,b равны нулю?

imageQuest = findViewById(R.id.imageQuest);
startX = imageQuest.getWidth()  / 2f + imageQuest.getX();
float a = imageQuest.getWidth();
float b =  imageQuest.getX();

Ответы (1 шт):

Автор решения: Arty Morris

Такая проблема есть, потому что вы запрашиваете положение до создания view. Я для себя нашёл выход, путём задержки получения этих данных. Попробуйте конструкцию:

    Handler handler2 = new Handler(Looper.getMainLooper());
    handler2.postDelayed(() -> {
        imageQuest = findViewById(R.id.imageQuest);
        startX = imageQuest.getWidth()  / 2f + imageQuest.getX();
        float a = imageQuest.getWidth();
        float b =  imageQuest.getX();
    }, 500); // время подкорректировать по вкусу
→ Ссылка