Координаты 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); // время подкорректировать по вкусу