2010-05-17 6 views
3

Je dois pouvoir d'invalider sélectivement plusieurs (environ 20) rectangles sur l'écran pour des raisons de performances, donc essayé les éléments suivants:Android: Comment invalider plusieurs parties de l'écran

Vector<Rect> myRects = new Vector<Rect>(); 

// ... add some Rects to myRects 

for (Rect r : myRects) { 
    invalidate(r); 
} 

Cependant, cela semble invalident une union de tous les Rect, formant un grand rectangle qui couvre tous les petits que j'essaie d'invalider.

Comment peut-on invalider plusieurs zones sur l'écran, et seulement ces zones?

Répondre

0

Invalidez un rect, puis dans le onDraw() vérifiez votre liste et appelez Invalidate() avec le suivant, jusqu'à ce que la liste soit vide.

Une meilleure solution est d'utiliser Drawable s et d'appeler InvalidateDrawable() sur ceux-ci.

Questions connexes