Страницы

Поиск по вопросам

пятница, 11 января 2019 г.

Как выполнить действие после отрисовки Activity (fragment)

Есть ли метод с которого возможно воздействовать на только что отобразившуюся активность? Мне надо перезапустить view, как только она отрисуется. А отрисовать надо, чтобы узнать ее размер. После чего сразу выполнить другое действие с этими данными.


Ответ

К примеру у вас есть View mExampleView повесьте на нее обсервер, он сработает, как только вьюшка будет нарисована на экране. Когда будет вызван onGlobalLayout, вы можете узнать ее размер, затем отпишитесь и выполняйте нужный код.
ViewTreeObserver viewTreeObserver = mExampleView.getViewTreeObserver(); viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { mEaxampleView.getHeight(); // будет больше 0 mEaxampleView.getViewTreeObserver().removeGlobalOnLayoutListener(this); // Остальные действия } });

Комментариев нет:

Отправить комментарий