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?

tedris
fuente
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();
Ajay S
fuente
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.

nzala
fuente
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();
pollaris
fuente
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();
        }
    });
}

}

jahan gagan
fuente
1
Toast toast = new Toast(context);
        toast.setGravity(Gravity.FILL_HORIZONTAL | Gravity.BOTTOM, 0, 0);
toast.show();
Amardeep
fuente
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()
}
Aklesh Singh
fuente
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();
Anand Kumar
fuente
-2

El siguiente código funcionó para mí.

Toast.makeText(this, "Toast in center", Toast.LENGTH_SHORT).setGravity(Gravity.CENTER,0,0).show();
Pawan Dubey
fuente
setGravity no devuelve el objeto Toast. void setGravity (int gravity, int xOffset, int yOffset)
wrkwrk