屏幕旋转后, View 对象之一的高度改变了,我想知道像素的高度值。
在完成旋转 View 之前,可能会调用onConfigurationChanged
方法。因此,如果我用这种方法测量 View 大小,那么大小仍然是以前的旋转值。
问题是旋转完成后如何在不重建Activity的情况下获取 View 大小值。
最佳答案
一种可能的解决方案:
private int viewHeight = 0;
View view = findViewByID(R.id.idOfTheView);
view.getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener(){
@Override
public void onGlobalLayout() {
viewHeight = view.getHeight();
}
或者
@Override
public void onResume(){
int viewHeight = 0;
View view = findViewByID(R.id.idOfTheView);
viewHeight = view.getHeight();
}