Junior — Middle
L'appel de la méthode requestLayout() entraîne-t-il obligatoirement l'appel de la méthode onDraw() ?
sobes.tech IA
Réponse de l'IA
L'appel de la méthode requestLayout() ne garantit pas un appel immédiat à onDraw().
requestLayout() initie le recalcul de la position et des dimensions de la vue, ce qui entraîne l'appel à onMeasure() et onLayout(). Après le succès de ces étapes, le système décide s'il doit redessiner la vue, et si oui, il appelle onDraw().
Ainsi, onDraw() n'est pas nécessairement appelé immédiatement après requestLayout(), mais seulement si les modifications nécessitent une redéfinition.
Si vous souhaitez forcer un redessin sans changer la taille ou la position, utilisez invalidate(), qui entraîne directement l'appel à onDraw().