Je suis un peu confus quant aux rôles des méthodes forceLayout()
, requestLayout()
et invalidate()
de la classe View
.
Quelqu'un pourrait-il me donner des scénarios où ils doivent être appelés?
Je suis un peu confus quant aux rôles des méthodes forceLayout()
, requestLayout()
et invalidate()
de la classe View
.
Quelqu'un pourrait-il me donner des scénarios où ils doivent être appelés?
Pour mieux comprendre les réponses fournies par François BOURLIEUX et Dalvik, je vous suggère de jeter un coup d'œil à ce diagramme de cycle de vie de vue impressionnant d' Arpit Mathur :
ici vous pouvez trouver une réponse: http://developer.android.com/guide/topics/ui/how-android-draws.html
pour moi, un appel à invalidate () actualise uniquement la vue et un appel à requestLayout () actualise la vue et calcule la taille de la vue à l'écran.
vous utilisez invalidate () sur une vue que vous souhaitez redessiner, son onDraw (Canvas c) sera invoqué et requestLayout () fera de nouveau le rendu complet de la présentation (phase de mesure et phase de positionnement). Vous devez l'utiliser si vous modifiez la taille de la vue au moment de l'exécution, mais uniquement dans des cas particuliers, tels que les contraintes de la vue parent, etc.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.