web-dev-qa-db-fra.com

Comment afficher le pain grillé au centre de l'écran

Dans Android Je veux afficher un message de pain grillé au 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?

79
tedris

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();
237
Ajay S

positionnant votre pain grillé

Une notification standard de pain grillé apparaît près du bas de l'écran, centrée horizontalement. Vous pouvez changer cette position avec la méthode setGravity(int, int, int). Cela accepte trois paramètres: une constante Gravity, une constante x-position offset, et un y-position décalage.

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

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 réduire, augmentez la valeur du dernier paramètre.

3
nzala

Fichier de mise en forme pour toasts personnalisés

<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é sur 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();
        }
    });
}

}

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

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

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

Afficher/régler 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
Aklesh Singh