屏幕旋转后,其中一个视图对象的高度发生变化,我想知道像素中的高度值。
在查看完成轮换之前,可能会调用onConfigurationChanged
方法。因此,如果我在此方法中测量视图大小,则大小仍然是之前的旋转值。
问题是如何在旋转完成后获取视图大小值而不重建Activity。
答案 0 :(得分:4)
一种可能的解决方案:
private int viewHeight = 0;
View view = findViewByID(R.id.idOfTheView);
view.getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener(){
@Override
public void onGlobalLayout() {
viewHeight = view.getHeight();
}
OR
@Override
public void onResume(){
int viewHeight = 0;
View view = findViewByID(R.id.idOfTheView);
viewHeight = view.getHeight();
}