8
votes

Comment personnaliser l'arrière-plan, la couleur de fond et la couleur du texte pour Toast dans Android

Je veux personnaliser mon toast sans créer de mise en page personnalisée en modifiant le toast par défaut. Je veux une couleur rouge pour l'arrière-plan du toast et la couleur blanche de la couleur du texte de Toast et je veux rendre le fond de mon toast plus gros que grillé par défaut. Quand j'exécute mon application, rien ne change de mon toast, il montrent toujours en pain grillé.

C'est comme ça que je personnalise mon toast: xxx


1 commentaires

Pour moi, le cas «sinon» montre un toast rouge avec du texte blanc avec des pavages appliqués.


3 Réponses :


2
votes

Toast a un SetView () méthode.

Vous pouvez personnaliser un toast pour montrer n'importe quelle vue.

Je dirais au lieu d'essayer d'éditer la vue à l'intérieur du pain grillé, vous créez simplement une vue et le popez-le en vous-même.


1 commentaires

Pouvez-vous dire comment le chemin de la coutume?



10
votes

Vous pouvez avoir une vue personnalisée gonfler une vue personnalisée et utiliser toast.seview (mise en page) code>.

Exemple: p>

  TextView text = (TextView) toast.getView().findViewById(android.R.id.message);


2 commentaires

Je veux personnaliser mon toast sans créer de mise en page personnalisée en modifiant le toast par défaut. puis-je?


@Aoyamananami, vous pouvez vérifier le message ci-dessus. De plus, votre code fonctionne bien, je peux voir le toast avec fond rouge et texte blanc. Alors quel est le problème exact. Je ne peux pas reproduire votre problème. J'ai couru votre code en copiant la même chose. ça fonctionne bien. Utiliser la mise en page personnalisée vous donnera plus d'options de personnalisation.



0
votes

J'ai un code très simple et facile pour personnaliser un toast en conséquence, vous pouvez également modifier la couleur du pain grillé et du texte.

 Toast toast = Toast.makeText(MainActivity.this, "Added successfully", Toast.LENGTH_LONG);
    View view = toast.getView();
    view.setPadding(20, 20, 20, 20);
    view.setBackgroundResource(R.color.GREEN);
    view.setTextColor(Color.RED);
    toast.show();


0 commentaires