我有一个视图,我试图在绘制之后获得它的位置。
以下是我正在使用的代码。
view.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener{
@Override
public void onGlobalLayout(){
int[] location = new int[2];
view.getLocationOnScreen(location);
Log.d("SOME TAG","Location is ("+location[0]+","+location[1]+)");
});
上面的代码给了我0.75。很棒,除非我在那里放置一个onClickListener来获取点击的位置(在左上角)我得到0,275。
有趣的是,如果我在onClickListener中执行相同的过程,我的左上角会得到0,275。关于我做错了什么的线索,或者是否有更好的地方放置代码来获取位置。必须在绘制视图之后(出于显而易见的原因)。
谢谢!
答案 0 :(得分:0)
有几种方法可以解决这个问题。我不确定这里的最终目标是什么,但这里是他们: