ボタンは、を介してキャンバスに描画されますonDraw
。次の方法では、描画されたボタンの位置を取得し、その中のタッチを検出しています。それが感知snapShot();
されると、が呼び出されます。snapShot();
の内容をに置き換えましたSystem.out.println("snapShot(); is called");
。タッチするたびに、常に4行が印刷されます。このメソッドがsnapShot()を連続して呼び出す方法がわかりませんか?
public boolean onTouch(View view, MotionEvent me) {
Resources res = getResources();
Bitmap bitmap = BitmapFactory.decodeResource(res, R.drawable.camera);
DisplayMetrics metrics = getResources().getDisplayMetrics();
int w = metrics.widthPixels;
int h = metrics.heightPixels;
int heightOffset = - bitmap.getHeight() + h;
int widthOffset = w - bitmap.getWidth();
//See if the motion event is on a Marker
if((me.getRawX() >= widthOffset && me.getRawX() < (widthOffset + bitmap.getWidth())
&& me.getRawY() >= heightOffset && me.getRawY() < (heightOffset + bitmap.getHeight())))
{
snapShot();
return true;
}
return super.onTouchEvent(me);
};