2014-05-02 3 views
0

Je me réfère à ce tutorial pour faire un rectangle redimensionnable. Mais dans mon cas, j'ai besoin de plus que ça.Détecter touch sur rectangle qui utilisent drawRect()

J'ai besoin de faire glisser et déplacer le rectangle sans toucher le point. Est-ce possible? Quelle partie du code devrais-je changer?

Ou existe-t-il un moyen de détecter le rectangle dessiné à l'aide de drawRect()?

Merci.

Répondre

1

Utilise les coordonnées x et y de l'événement click et détecte si cette position est dans le rectangle.

yourView.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      if (event.getAction() == MotionEvent.ACTION_DOWN){ 
       int x = event.getX(); 
       int y = event.getY(); 
       if(x > rectLeftX && x < rectRightX && y > rectBottomY && y < rectTopY){ 
        /* Trigger your action here */ 
       } 
      } 
      return true; 
     } 
    }); 
Questions connexes