7

屏幕旋转后,视图对象之一的高度发生了变化,我想知道以像素为单位的高度值。

onConfigurationChanged方法可能在视图完成旋转之前调用。所以如果我用这种方法测量视图大小,大小仍然是之前旋转的值。

问题是如何在不重建 Activity 的情况下获得旋转完成后的视图大小值。

4

1 回答 1

4

一种可能的解决方案:

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();
}
于 2013-07-26T08:48:43.087 回答