gpt4 book ai didi

java - 如何在android中获取图像的(x,y)坐标?

转载 作者:行者123 更新时间:2023-12-01 12:36:37 25 4
gpt4 key购买 nike

我在 ONTOUCH 上用 (X,Y) 坐标绘制了一个图像,同时移动图像,当图像到达终点时,它的坐标应该与图像一起移动,图像应该绘制在那里,否则图像应该返回到它的位置起始位置。

例如:(在我们的手机中,如果 kepad 锁,我们将其拖动以打开,如果它到达终点,锁将打开,否则图像将到达其起始位置)。

引用链接:http://www.vogella.com/tutorials/AndroidTouch/article.html

这是我的代码:

@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (mLocked) {
return false;
}

final int action = event.getAction();

float x = event.getX();
float y = event.getY();
if (mOnDrawerScrollListener != null) {
mOnDrawerScrollListener.onScrollStarted();
}

final int pt = getSide();
mTouchDelta = (int)(y - pt);
prepareTracking(pt);
mVelocityTracker.addMovement(event);
final Rect frame = mFrame;
final View handle = mHandle;

如果有人对此有任何想法,请帮助我 friend 。

最佳答案

如果你想获取 View (ImageView)的(x,y)坐标,只需使用view.getX()view.getY()。但是当你在onCreate()中获取它时,结果将是(0, 0),因为它还没有创建。您应该在onGlobalLayoutListener()中使用view.getX()、view.getY()。例如:

rlRoot.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

@Override
public void onGlobalLayout() {
// TODO Auto-generated method stub
rlRoot.getViewTreeObserver().removeGlobalOnLayoutListener(this);
Log.d("X", view.getX()+"");
Log.d("Y", view.getY()+"");
}
});

rlRoot 的布局包含您的 View , View 可以是 ImageView 或任何 View 。尝试一下,希望有帮助。

关于java - 如何在android中获取图像的(x,y)坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25521826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com