Допустим, у нас есть макет main_activity.xml, который определяет все измерения относительным образом - ограничения, проценты и рекомендации (которые являются процентами) ... нет "статического" дп.
Но вMainActivity.java, мы программно создаем некоторые подпредставления, и мы хотим определить их размеры по высоте / ширине относительно существующих видов.
Мы не знаем размеров или плотности устройства, поэтому также не знаем(фактические целочисленные) размеры любого представления до времени выполнения ...
Но мы можем сказать что-то вроде:
int heightDimensionForNewView = (int) (someAlreadyInflatedView.getHeight() / 7f)
Но что, если при определенных обстоятельствах эти«новые» представления должны отображаться сразу во время запуска приложения?
Итак, вопрос:
В жизненном цикле Android Activity, когда это самое раннееточка, в которой вы можете (как-то) безопасно запросить (что-то) фактические / окончательные / гарантированные размеры макета?И что это за что-то и как-то?
Мне не удалось найти метод переопределения, такой как "onContentViewInflated ()", и нет метода onCreateView (), как в Fragment.
Я также пытался вести лог изнутри onStart () и onResume (), но результаты измерений всегда равны «0», предположительно, потому что они еще не были завышены.
Я знаю, что любойданный View может получать свои собственные измерения в onMeasure (), но тогда вам нужно будет создать статическую переменную в MainActivity, чтобы назначить ее и использовать оттуда ... или каким-либо способом отправить эту информацию из View обратно в Activity.
Чего мне не хватает?Я просто хочу иметь возможность каким-то образом получить номер из самой MainActivity.