我想跟踪视图的视觉位置,避免尽可能多的回调。理想情况下,我想做这样的事情:
View.addOnViewMovedListener(new OnViewMovedListener(){
@Override
public void onViewMoved(View v) {
myCode.noticeViewMoved(v);
}
});
我无法扩展View,因为这需要适用于任何视图。
我到目前为止最好的方法是向ViewTreeObserver添加一个OnPreDrawListener。这是我可以通过View.setX()和View.setY()进行更改的唯一方法,但如果在视图层次结构中的任何位置出现无效,则会发生这种情况,这是非常不理想的
还有哪些其他选择?