Android View: 执行运算并在 onSizeChanged 之前获取结果
要保证运算在 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 方法中使用运算结果。
原文地址: https://www.cveoy.top/t/topic/bk6J 著作权归作者所有。请勿转载和采集!