Android如何等待坐标计算完成?

Android how to wait for coordinates calculation completed?

我有一个 Android 应用程序,它在 onCreate 方法中以编程方式创建所有布局,之后我需要对我创建的一些视图的坐标进行一些计算,但是当我尝试获取屏幕上的坐标,它总是 return 0,0。 我认为这可能是由于 activity 仍然没有通过调试渲染,如果我在获取坐标的点上放置断点,我仍然看到灰色屏幕,我如何计算坐标开始 activity? 对我来说,即使它不在 onCreate 中也没关系,我只需要在 activity 渲染之后执行它,如果可能的话,我不想使用 OnGlobalLayoutListener(如果没有其他好办法......我会习惯这个想法,但我想知道是否还有其他方法)。 啊,我也试过放在onResume上,但是不行,可能调用onResume的时候渲染还没有完成

扩展视图 class 并编写您自己的 protected void onSizeChanged(int w, int h, int oldw, int oldh) { 可以帮助您。

@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
    super.onSizeChanged(w, h, oldw, oldh);

    final float yCenterX = w / 2;
    final float yCenterY = h / 2;
    ...
}