2014-08-27 170 views
0

我使用(X,Y)座標在ONTOUCH上繪製了一幅圖像,當它移動圖像時,座標應該隨着圖像一起移動,並在圖像到達時結束。圖像應該繪製在那裏,否則圖像應該返回到它的起點位置。例如:(在我們的手機中,如果鍵盤鎖,我們將拖動它打開,如果它到達終點,鎖將打開,否則圖像將達到它的起始位置)。如何在Android中獲取(x,y)圖像的座標?

下文稱鏈接: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; 

如果任何人有這樣的想法,請幫助我的朋友。

+0

你可以發佈你的代碼 – DCoder 2014-08-27 08:03:52

+0

PLZ看到我已經更新了代碼 – Vicky 2014-08-27 08:15:00

回答

1

如果你想獲得(X,Y)的觀點cordinates(ImageView的),只需使用view.getX()view.getY()。但是,當您在onCreate()中得到它時,結果將爲(0,0),因爲它尚未創建。您應該使用onGlobalLayoutListener()中的中的view.getX(),view.getY()。對於e.g:

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是佈局包括你的觀點和看法可以是ImageView的或任何視圖。 試試吧,希望它有幫助。