簡體   English   中英

如何在Android中獲取圖像的(x,y)坐標?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM