Comment afficher Toast au centre de l'écran


89

Sous Android, je souhaite afficher un message toast en bas de l'écran, j'ai essayé ceci:

Toast.makeText(test.this,"bbb", Toast.LENGTH_LONG).show();

Cela ne fonctionne pas, comment puis-je le faire correctement?


Cela n'avait aucun sens pour moi. Qu'essayez-vous de dire exactement?
SudoRahul

1
mettre en forme du texte, une question correcte, un exemple de code qu'avez-vous essayé, avez-vous même essayé d'utiliser le moteur de recherche?
deadfish

Les personnes qui modifient cette question la modifient mal ... La question est claire, le corps du message ne l'est pas ... veuillez le modifier à nouveau. Ce qu'il veut demander est "Comment afficher le message Toast au centre de l'écran", le message est "Dans Android, je veux afficher un message Toast au centre de l'écran, pour afficher un message toast en bas de l'écran J'essaye ce Toast.makeText (test.this, "bbb", Toast.LENGTH_LONG) .show (); Comment placer un message Toast au milieu de l'écran? " Je pense que c'était quelque chose comme ça, pas comme il a été édité ...
Elsanty

J'adore cet article. C'est pourquoi je le partage. Exemple de toast Android - cliquez ici
Athira Reddy

Réponses:


271

Pour afficher le toast au centre de l'écran.

Toast toast = Toast.makeText(test.this,"bbb", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();

Si quelqu'un veut ajuster la position davantage, le troisième argument de setGravity prend le décalage yAxis en pixels.
Sagar

4

Positionner votre toast

Une notification toast standard apparaît en bas de l'écran, centrée horizontalement. Vous pouvez changer cette position avec la setGravity(int, int, int) méthode. Cela accepte trois paramètres: une Gravityconstante, un x-positionoffset et un y-positionoffset.

Par exemple, si vous décidez que le toast doit apparaître dans le coin supérieur gauche, vous pouvez définir la gravité comme ceci:

toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);

Si vous souhaitez déplacer la position vers la droite, augmentez la valeur du deuxième paramètre. Pour le pousser vers le bas, augmentez la valeur du dernier paramètre.


2

Dans Xamarin.Android, cela affiche du pain grillé au centre de l'écran:

            Toast toast = Toast.MakeText(ApplicationContext, "bbb", ToastLength.Long);
            toast.SetGravity(GravityFlags.Center, 0, 0);
            toast.Show();

2

Fichier de mise en page pour toast personnalisé

<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginRight="5dp" />

<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:textColor="#000" />

Fichier .java pour un toast personnalisé lors de l'événement de clic du bouton

public class MainActivity extends Activity {

private Button button;

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    button = (Button) findViewById(R.id.buttonToast);

    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

            // get your custom_toast.xml ayout
            LayoutInflater inflater = getLayoutInflater();

            View layout = inflater.inflate(R.layout.custom_toast,
              (ViewGroup) findViewById(R.id.custom_toast_layout_id));

            // set a dummy image
            ImageView image = (ImageView) layout.findViewById(R.id.image);
            image.setImageResource(R.drawable.ic_launcher);

            // set a message
            TextView text = (TextView) layout.findViewById(R.id.text);
            text.setText("Button is clicked!");

            // Toast...
            Toast toast = new Toast(getApplicationContext());
            toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
            toast.setDuration(Toast.LENGTH_LONG);
            toast.setView(layout);
            toast.show();
        }
    });
}

}


1
Toast toast = new Toast(context);
        toast.setGravity(Gravity.FILL_HORIZONTAL | Gravity.BOTTOM, 0, 0);
toast.show();

0

Affichage / réglage de la gravité du texte au centre (horizontalement) en koltin

fun Context.longToast(msg: String) {
    Toast.makeText(this, msg, Toast.LENGTH_LONG)
        .apply {
           view.findViewById<TextView>(android.R.id.message)?.gravity = Gravity.CENTER
        }
        .show()
}

0

Le code suivant peut être utilisé pour afficher le message Toast

Toast tt = Toast.makeText(MainActivity.this,"Your text displayed here", Toast.LENGTH_LONG);
tt.setGravity(Gravity.CENTER, 0, 0);
tt.show();

-2

Le code ci-dessous a fonctionné pour moi.

Toast.makeText(this, "Toast in center", Toast.LENGTH_SHORT).setGravity(Gravity.CENTER,0,0).show();

setGravity ne renvoie pas d'objet Toast. void setGravity (int gravity, int xOffset, int yOffset)
wrkwrk
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.