要保证运算在 View 的 onSizeChanged 之前执行,可以在 View 的构造方法中进行运算,并将结果保存在成员变量中。

例如,在 View 的构造方法中进行运算:

public class MyView extends View {
    private int result;

    public MyView(Context context) {
        super(context);
        // 进行运算
        result = calculateResult();

        // 其他初始化操作
        // ...
    }

    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
        super.onSizeChanged(w, h, oldw, oldh);
        // 在 onSizeChanged 中使用运算结果
        // ...
    }

    private int calculateResult() {
        // 进行运算
        // ...
        return result;
    }
}

这样,在 View 的构造方法中进行的运算会在 onSizeChanged 方法之前执行,并将结果保存在成员变量中,可以在 onSizeChanged 方法中使用运算结果。

Android View: 执行运算并在 onSizeChanged 之前获取结果

原文地址: https://www.cveoy.top/t/topic/bk6J 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录