我使用 DrawRect 方法绘制室内地图。我想通过用户的 OnTouch 事件来识别每个矩形。我怎样才能做到这一点?
我想知道我是否可以将绘制的矩形用作独立对象,我可以在其中唯一地识别它们。
更新
我试过这个。但这给了我错误。如何使用 for 循环创建新意图?:(
ArrayList<Rect> rectangles = new ArrayList<Rect>();
{rectangles.add(new Rect(232,78,419,238));
rectangles.add(new Rect(285,27,524,239));
rectangles.add(new Rect(418,79,524,239));
rectangles.add(new Rect(181,79,233,215));
rectangles.add(new Rect(232,237,524,315));}
String Selected_rect = null;
public boolean onTouchEvent(MotionEvent event) {
int touchX = (int) event.getX();
int touchY = (int) event.getY();
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
System.out.println("Touching down!");
for(int i =0; i< rectangles.size();i++){
if(rectangles.get(i).contains(touchX,touchY)){
System.out.println("Touched Rectangle, start activity.");
rectangles.get(i).describeContents ();
Selected_rect = String.valueOf(rectangles.get(i));
}
// Intent inte = new Intent("android.intent.action.DetectBlock");
// startActivity(inte);
}
break;
case MotionEvent.ACTION_UP:
System.out.println("Touching up!");
break;
case MotionEvent.ACTION_MOVE:
System.out.println("Sliding your finger around on the screen.");
break;
}
return true;
}
我的 Intent 方法体
private void startActivity(Intent inte) {
// TODO Auto-generated method stub
startActivity(inte);
}