嗨,所以我试图在Android中使用
获取imageview的位置xPosition = view.getLeft();
yPosition = view.getTop();
但无论imageview恰好在哪里,它都会继续返回0。使用
时也会出现同样的情况view.getLocationOnScreen(int[] location);
有没有人知道为什么会这样?
答案 0 :(得分:0)
您可以在onCreate完成后使用这些方法。一种方法是在onCreate方法中使用这个:
view.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
//do your thnig here.....
if (Build.VERSION.SDK_INT < 16) {
view.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
else {
view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
}
});
构建布局时将通知globalLayoutListener并运行onGlobalLayout方法。在执行完所需操作后,请务必删除globalLayoutListener。