Cómo mostrar Toast en el centro de la pantalla


89

En Android quiero mostrar un mensaje de brindis en la parte inferior de la pantalla, probé esto:

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

No funciona, ¿cómo lo hago correctamente?


No tenía ningún sentido para mí. ¿Qué estás tratando de decir exactamente?
SudoRahul

1
formato de texto, pregunta correcta, código de muestra, ¿qué probaste? ¿Intentaste usar un motor de búsqueda?
Deadfish

Las personas que editan esta pregunta la editan mal ... La pregunta es clara, el cuerpo del mensaje no lo es ... edítelo de nuevo. Lo que quiere preguntar es "Cómo mostrar el mensaje de tostadas en el centro de la pantalla", el mensaje es "En Android quiero mostrar un mensaje de tostadas en el centro de la pantalla, para mostrar un mensaje de tostadas en la parte inferior de la pantalla". Intento este Toast.makeText (test.this, "bbb", Toast.LENGTH_LONG) .show (); ¿Cómo coloco un mensaje de Toast en el medio de la pantalla? " Creo que fue algo así, no como se editó ...
Elsanty

Amo este articulo Por eso lo comparto. Ejemplo de Android Toast - haga clic aquí
Athira Reddy

Respuestas:


271

Para mostrar el brindis en el centro de la pantalla.

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

Si alguien quiere ajustar más la posición, el tercer argumento en setGravity toma el desplazamiento yAxis en píxeles.
Sagar

4

Colocación de su tostada

Aparece una notificación de brindis estándar cerca de la parte inferior de la pantalla, centrada horizontalmente. Puede cambiar esta posición con el setGravity(int, int, int) método. Esto acepta tres parámetros: una Gravityconstante, un x-positiondesplazamiento y un y-positiondesplazamiento.

Por ejemplo, si decide que el brindis debe aparecer en la esquina superior izquierda, puede establecer la gravedad de esta manera:

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

Si desea mover la posición hacia la derecha, aumente el valor del segundo parámetro. Para empujarlo hacia abajo, aumente el valor del último parámetro.


2

En Xamarin.Android, esto muestra la tostada en el centro de la pantalla:

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

2

Archivo de diseño para tostadas personalizadas

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

Archivo .java para brindar personalizado en el evento de clic del botón

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

Mostrar / configurar la gravedad del texto en el centro (horizontalmente) 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

El siguiente código se puede utilizar para mostrar el mensaje Toast

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

-2

El siguiente código funcionó para mí.

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

setGravity no devuelve el objeto Toast. void setGravity (int gravity, int xOffset, int yOffset)
wrkwrk
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.