Come visualizzare Toast al centro dello schermo


89

In Android voglio visualizzare un messaggio di avviso nella parte inferiore dello schermo, ho provato questo:

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

Non funziona, come lo faccio correttamente?


Non aveva alcun senso per me. Cosa stai cercando di dire esattamente?
SudoRahul

1
formattare il testo, domanda corretta, codice di esempio cosa hai provato, hai anche provato a utilizzare il motore di ricerca?
deadfish

Le persone che modificano questa domanda la modificano in modo errato ... La domanda è chiara, il corpo del messaggio non lo è ... modificala di nuovo. Quello che vuole chiedere è "Come visualizzare il messaggio di Toast al centro dello schermo", il messaggio è "In Android voglio visualizzare un messaggio di Toast al centro dello schermo, per visualizzare un messaggio di avviso nella parte inferiore dello schermo Provo questo Toast.makeText (test.this, "bbb", Toast.LENGTH_LONG) .show (); Come faccio a posizionare un messaggio Toast al centro dello schermo? " Penso che fosse qualcosa del genere, non come è stato modificato ...
Elsanty

Amo questo articolo. Ecco perché lo condivido. Esempio di Toast Android - clicca qui
Athira Reddy

Risposte:


271

Per visualizzare il Toast al centro dello schermo.

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

Se qualcuno vuole regolare ulteriormente la posizione, il terzo argomento in setGravity accetta l'offset yAxis in pixel.
Sagar

4

Posizionamento del toast

Una notifica di tipo avviso popup standard viene visualizzata nella parte inferiore dello schermo, centrata orizzontalmente. Puoi cambiare questa posizione con il setGravity(int, int, int) metodo. Accetta tre parametri: una Gravitycostante, un x-positionoffset e un y-positionoffset.

Ad esempio, se decidi che il brindisi deve apparire nell'angolo in alto a sinistra, puoi impostare la gravità in questo modo:

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

Se vuoi spostare la posizione a destra, aumenta il valore del secondo parametro. Per spostarlo verso il basso, aumentare il valore dell'ultimo parametro.


2

In Xamarin.Android, questo visualizza l'avviso popup al centro dello schermo:

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

2

File di layout per toast personalizzato

<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" />

File .java per brindisi personalizzato all'evento clic del pulsante

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

Visualizzazione / impostazione della gravità del testo al centro (orizzontalmente) in 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

Il codice seguente può essere utilizzato per visualizzare il messaggio Toast

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

-2

Il codice seguente ha funzionato per me.

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

setGravity non restituisce l'oggetto Toast. void setGravity (int gravity, int xOffset, int yOffset)
wrkwrk
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.