获得旋转后的图像坐标

时间:2012-10-24 10:08:23

标签: android

当我旋转屏幕以加载之前的状态时,我使用这种方法:

public void onConfigurationChanged(Configuration newConfig){
    super.onConfigurationChanged(newConfig);
    view1 = new DrawView(this);
    setContentView(view1);
    Bundle bundle = this.getIntent().getExtras();
    onRestoreInstanceState(bundle);
    getCoordinates();//NO WORKS WELL
}

@Override
public void onRestoreInstanceState(Bundle savedInstanceState){
    //Here I set the values ​​to images: colors, borders, etc ...
}

我在AndroidManifest中有下一行:

android:configChanges="orientation|screenSize"

在getCoordinates()方法中,我有下一个代码:

public void getCoordinates(){
    final int[] values = new int[2];
    image.getLocationInWindow(values);
    x = values[0];
    y = values[1];
    width = image.getWidth();
    height = image.getHeight();
}

以前的代码并不完全是我所拥有的,但它是一个例子。我的真实代码没有太大变化。 但我有一个问题,我必须知道图像的坐标,以在图像之间画线。但是如果我通过示例启动方法(onConfigurationChanged(Configuration newConfig)),因为该方法尚未执行所有行并且方法尚未结束,则UI不能完全加载。因此,在坐标中获取空值。 我不知道如何在用户界面完全充电以获取坐标后自动启动方法getCoordinates()。有人可以帮帮我吗?

感谢!!!!

1 个答案:

答案 0 :(得分:0)

添加布局侦听器。

请参阅:How can you tell when a layout has been drawn?