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().