2010-07-07 9 views
0

J'essaie de déplacer un cercle à l'intérieur d'un composant personnalisé et il ne bouge que lorsque je clique sur un bouton à l'extérieur du composant personnalisé. Je touche et fais glisser le cercle, il ne fait rien, mais dès que je clique sur le bouton (qui n'a rien à voir avec le composant personnalisé) il est mis à jour à l'endroit où j'ai arrêté de toucher ... Je vais appeler quelque chose de tirage au sort sur le composant personnalisé? J'ai outrepassé l'onTouchEvent et, entre autres, l'onDraw. L'onTouch vérifie DOWN, MOVE (met à jour la position du cercle) et UP met simplement à jour le booléen beingDragged. L'onDraw trace un cercle à la position capturée sur l'événement MOVE. Qu'est-ce qui me manque? Merci!Essayer de déplacer un cercle avec Touch

Répondre

0

Après avoir modifié la position de votre cercle, appelez invalidate(Rect)

Cela forcera la vue de redessiner cette partie de la vue. Assurez-vous que le rectangle que vous passez est assez grand pour englober à la fois l'ancienne position du cercle et le nouvel emplacement plus quelques pixels de rembourrage.

REMARQUE: Appelez plutôt postInvalidate() à partir d'un thread non-UI.

+0

merci beaucoup !!! :) – Luis