Sobes.tech
Junior — Middle

Ao chamar o método requestLayout(), é obrigatório chamar o método onDraw()?

sobes.tech IA

Resposta da IA

A chamada do método requestLayout() não garante uma chamada imediata a onDraw().

requestLayout() inicia o recálculo do posicionamento e tamanhos da View, o que leva à chamada de onMeasure() e onLayout(). Após a conclusão bem-sucedida dessas etapas, o sistema decide se precisa redesenhar a View, e se necessário, chama onDraw().

Assim, onDraw() não é necessariamente chamado imediatamente após requestLayout(), mas apenas se as alterações exigirem uma nova renderização.

Se precisar forçar uma nova renderização sem alterar tamanhos ou posições, use invalidate(), que leva diretamente à chamada de onDraw().