На основании ответов в SOF, например this
Я попытался измерить представление достаточно поздно (onPreDraw
) в отличие от открывающего вопрос в приведенной выше ссылке на вопрос.
У меня есть этот код:
ViewTreeObserver viewTreeObserver = myAccountView.getViewTreeObserver();
viewTreeObserver.addOnPreDrawListener(
new OnPreDrawListener() {
@Override
public boolean onPreDraw() {
if (viewTreeObserver.isAlive()) {
viewTreeObserver.removeOnPreDrawListener(this);
}
int measuredWidth = myAccountView.getMeasuredWidth();
int width = myAccountView.getWidth();
return true;
}
});
}
тем не менее, measuredWidth
и width
всегда равны 0
как узнать ширину вида в пикселях?