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