[英]How to get (x,y) cordinates of image in android?
我已經用(X,Y)坐標在ONTOUCH上繪制了圖像,同時移動圖像的坐標應在到達終點時與圖像一起移動,否則應在此處繪制圖像,否則圖像應回到其起始位置。
例如:(在我們的手機中,如果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;
如果有人對此有任何想法,請幫助我的朋友。
如果要獲取視圖(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是包含您的視圖的布局,該視圖可以是ImageView或任何View。 試試看,希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.