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