簡體   English   中英

我可以得到我點擊位置的坐標xy嗎? OnTapListener?

[英]Can I get coordinates x y of the position where I tap? OnTapListener?

我一直在尋找可以給我x,y坐標的函數,該坐標是我在屏幕上觸摸的點。 我得到了onTouch()的代碼,但是找不到調用該函數的方法。

public boolean onTouch(View v, MotionEvent event) {
   int x = event.getX();
   int y = event.getY();
   return true;
}

我應該在爭論中傳遞的View和MotionEvent是什么? 誰能幫我一下,告訴我如何只獲得x,y的接觸點?

嘗試以下視圖:

View yourView = findViewById(R.id.yourViewId)
    yourView.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if(event.getActionMasked() == MotionEvent.ACTION_DOWN) {
            // Do something
            x = event.getX();
            y = event.getY();
            }
            return true;
        }
    });

或嘗試以下活動:

@Override
public boolean onTouchEvent(MotionEvent event) {
            if(event.getActionMasked() == MotionEvent.ACTION_DOWN) {
            // Do something
            x = event.getX();
            y = event.getY();
            }
            return true;
}

順便說一句,您不需要調用此方法,只需重寫它,並且每當觸摸屏幕時,您的活動都會調用此方法。

讓我知道這是否無效,我將刪除答案

要獲取按下時的坐標,請嘗試:

switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN: // when you touch
        x = event.getRawX(); // gather x and y
        y = event.getRawY();
        break;

PS我會發表評論,但代表PSS太低,如果您聲明這是您要做的一切,請嘗試切換,如果您嘗試做多件事(即拖動一個項目),請切換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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