私はfacedetectionアプリを開発しています。このアプリでは、顔の目と口の近くに円を描き、ユーザは、検出された顔の彼の位置に応じて、設定位置の円をクリックすることができます。したがって、すべてのサークルが顔にうまく描かれていますが、特定のサークルをクリックしてズームアウトオプションで顔全体に移動することはできません。同じことについて適切な解決策を提案してください。アンドロイドのキャンバスに描かれた円をクリックする方法は?
ありがとうございます。
私はfacedetectionアプリを開発しています。このアプリでは、顔の目と口の近くに円を描き、ユーザは、検出された顔の彼の位置に応じて、設定位置の円をクリックすることができます。したがって、すべてのサークルが顔にうまく描かれていますが、特定のサークルをクリックしてズームアウトオプションで顔全体に移動することはできません。同じことについて適切な解決策を提案してください。アンドロイドのキャンバスに描かれた円をクリックする方法は?
ありがとうございます。
Math.sqrt(Math.pow(clickX - centerX, 2) + Math.pow(clickY - centerY, 2));
あなたのポイントの中心とタッチイベントの間の距離を計算 - 距離があなたの円の半径よりも小さい場合 - あなたはここで円に
を押した私は長方形のために使用した例であります。円を使用するようにコードを調整できるかどうかを確認してください。
@Override
public boolean onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
int x = (int)event.getX();
int y = (int)event.getY();
xStored = x; yStored=y;
if (event.getAction()==MotionEvent.ACTION_UP){
}else if(event.getAction()==MotionEvent.ACTION_DOWN){
System.out.println("Touching down!");
for(Rect rect : rectangles){
if(rect.contains(x,y)){
System.out.println("Touched Rectangle, start activity."+x+","+y);
invalidate();
}else{
}
}
}else if(event.getAction()==MotionEvent.ACTION_MOVE){
}
this.postInvalidate();
return true;
}
キャンバスの円をクリックする検出方法はありますか? –