ユーザーがイメージビュー内でのみ触れている座標を見つけようとしています。
これまでのところ、次のコードでこれを行うことができました。
img = (ImageView) findViewById(R.id.image);
img.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
x = (int) event.getX();
y = (int) event.getY();
int[] viewCoords = new int[2];
img.getLocationOnScreen(viewCoords);
int imageX = (int) (x - viewCoords[0]); // viewCoods[0] is the X coordinate
int imageY = (int) (y - viewCoords[1]); // viewCoods[1] is the y coordinate
text.setText("x:" +x +"y"+y);
return false;
}
});
ただし、これは onTouchListener であり、各タッチの後にのみ座標を見つけることを意味します。私がやりたいことは、ユーザーがイメージビューで指を動かしている間、常に座標を見つけるように作成することです。このコードで画面全体でこれを達成しました:
@Override
public boolean onTouchEvent(MotionEvent event) {
x = (float)event.getX();
y = (float)event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
case MotionEvent.ACTION_UP:
}
text.setText("x:"+ x +" y:" +y);
return false;
}
ただし、このコードをイメージビュー内でのみ機能させる方法がわかりません。