Como Customizar a Mensagem Toast no Android

A mensagem Toast exibida nos dispositivos Android é bem conhecida, trata-se daquela mensagem que o smartphone exibe quando executa algumas operações e avisa que finalizou ou que está em processo por exemplo, a mensagem que avisa que está enviando o e-mail. A mensagem Toast padrão tem uma cor de fundo cinza escuro com os caracteres em branco, mas e se você quiser usar a mensagem Toast e customizar a aparência como alterar a cor de fundo, o tamanho e a cor do texto e quem sabe até mesmo a aparência da mensagem.

Para customizar a mensagem de Toast precisamos criar uma variável que aponta para uma mensagem de Toast, obter a View padrão da mensagem e o TextView que armazena o texto da mensagem. Dependendo de quais customizações queremos fazer podemos precisar de cada uma destas variáveis. No exemplo abaixo a variável toast é usada para configurar o posicionamento da mensagem na tela, no caso a mensagem deve ser centralizada verticalmente, a variável toastMessage usamos para configurar a cor e o tamanho do fonte do texto, e a variável toastView usamos para configurar a cor de fundo da mensagem Toast.

Context context = getApplicationContext();
Toast toast = Toast.makeText(context, "Mensagem.....", Toast.LENGTH_LONG);

// Retorna a View padrão da mensagem
View toastView = toast.getView();

// Para customizar o texto da mensagem obter a View do componente do texto
// que no caso é um TextView
TextView toastMessage = (TextView) toastView.findViewById(android.R.id.message);
toastMessage.setTextSize(50);
toastMessage.setTextColor(Color.YELLOW);

// Centraliza a mensagem no centro da tela
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);

// Altera a cor de fundo da mensagem
toastView.setBackgroundColor(Color.BLUE);

// Exibe a mensagem
toast.show();

O código acima exibe uma mensagem Toast com a aparência mostrada na figura abaixo:

Figura 1 - Mensagem Toast Customizada
Além das customizações mostradas neste post é possível fazer mais customizações como por exemplo, alterar completamente o visual do componente Toast, veja mais informações de customização no site de desenvolvedores do Android
https://developer.android.com/guide/topics/ui/notifiers/toasts