如何在屏幕中心显示Toast

ted*_*ris 80 android android-toast

在Android中我想在屏幕底部显示一个Toast消息,我试过这个:

Toast.makeText(test.this,"bbb", Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)

它不起作用,我该怎么做呢?

Aja*_*y S 243

在屏幕中央显示Toast.

Toast toast = Toast.makeText(test.this,"bbb", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
Run Code Online (Sandbox Code Playgroud)


sta*_*ken 7

在 Android 11 之前,要将Toast居中,请使用:

科特林:

val toast = Toast.makeText(context, "Test", Toast.LENGTH_LONG)
toast.setGravity(Gravity.CENTER, 0, 0)
toast.show()
Run Code Online (Sandbox Code Playgroud)

爪哇:

Toast toast = Toast.makeText(context, "Test", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
Run Code Online (Sandbox Code Playgroud)

或者自定义视图。

警告:从 Android 11(R、API 30)开始,您无法在 Android 11 及更高版本上显示居中的 Toast:


nza*_*ala 5

定位你的 Toast

标准 Toast 通知出现在屏幕底部附近,水平居中。您可以使用setGravity(int, int, int) 方法更改此位置 。这接受三个参数: Gravity常量、x-position偏移量和y-position偏移量。

例如,如果你决定 toast 应该出现在左上角,你可以像这样设置重力:

toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);
Run Code Online (Sandbox Code Playgroud)

如果要向右轻推位置,请增加第二个参数的值。要向下微调,请增加最后一个参数的值。