android 中的 View 类是否有等效于 Dialog.setOnShowListener() 的方法?
我需要它,因为当我在紧跟 someViewGroup.addView(foo) 的行中的视图(比如 foo)上调用 getLocationOnScreen 时,我得到 location = (0,0)。
我不能使用活动的任何生命周期方法,因为添加 foo 正在运行(按下按钮)。任何帮助将不胜感激。提前致谢。
您应该使用 ViewTreeObserver:
someViewGroup.addView(foo)
ViewTreeObserver vto = someViewGroup.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
///getLocationOnScreen here
ViewTreeObserver obs = someViewGroup.getViewTreeObserver();
obs.removeGlobalOnLayoutListener(this);
}
});