Задать вопрос
@StynuBlizz

Как получить размер layout в android?

Как получить размер Relative Layout, у которого размеры заданы с помощью match_parent?
З.Ы getWidth и getHeight возвращают 0
  • Вопрос задан
  • 785 просмотров
Подписаться 2 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Android-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл Android‑разработчик
    5 месяцев
    Далее
  • Академия Codeby
    Курс «Анализ защищенности приложений Андроид»
    14 недель
    Далее
Решения вопроса 1
thelongrunsmoke
@thelongrunsmoke
Программист
getWidth() и getHeight() получают актуальные значения после подготовки интерфейса к отрисовке.
Самый простой способ - использовать ViewTreeObserver.
ViewTreeObserver vto = someView.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
    @Override
    public boolean onPreDraw() {
        someView.getViewTreeObserver().removeOnPreDrawListener(this); // удаляем листенер, иначе уйдём в бесконечный цикл
        <здесь getWidth() и getHeight() уже инициализированы>
        }
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы