Toast in het midden van het scherm weergeven

In Android wil ik een toastbericht onderaan het scherm weergeven, ik heb dit geprobeerd:

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

Het werkt niet, hoe doe ik het correct?


Antwoord 1, autoriteit 100%

Om de Toastin het midden van het scherm weer te geven.

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

Antwoord 2, autoriteit 2%

Uw Toast positioneren

Een standaard toastmelding verschijnt onderaan het scherm, horizontaal gecentreerd. U kunt deze positie wijzigen met de setGravity(int, int, int)
methode. Dit accepteert drie parameters: een Gravity-constante, een x-positionoffset en een y-positionoffset.

Als u bijvoorbeeld besluit dat de toast in de linkerbovenhoek moet verschijnen, kunt u de zwaartekracht als volgt instellen:

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

Als u de positie naar rechts wilt verschuiven, verhoogt u de waarde van de tweede parameter. Om het naar beneden te duwen, verhoogt u de waarde van de laatste parameter.


Antwoord 3

Vóór Android 11, om een ​​Toastte centreren, gebruikt u:

Kotlin:

val toast = Toast.makeText(context, "Test", Toast.LENGTH_LONG)
toast.setGravity(Gravity.CENTER, 0, 0)
toast.show()

Java:

Toast toast = Toast.makeText(context, "Test", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();

Of een aangepaste weergave.

Waarschuwing: vanaf Android 11 (R, API 30), heb je geen niet-legacy manier om een ​​gecentreerde toast weer te geven op Android 11 en hoger:


Antwoord 4

In Xamarin.Android wordt hiermee toast in het midden van het scherm weergegeven:

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

Antwoord 5

Lay-outbestand voor aangepaste toast

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

.java-bestand voor aangepaste toast op de klikgebeurtenis van de knop

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

}


Antwoord 6

Toast toast = new Toast(context);
        toast.setGravity(Gravity.FILL_HORIZONTAL | Gravity.BOTTOM, 0, 0);
toast.show();

Antwoord 7

Tekstzwaartekracht instellen / instellen in het midden (horizontaal) 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()
}

Antwoord 8

De volgende code kan worden gebruikt om Toast-bericht

weer te geven

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

Antwoord 9

voor kotlin;

val toast = Toast.makeText(this,"Yes clicked...",Toast.LENGTH_LONG)
            toast.setGravity(Gravity.CENTER,0,0)
            toast.show()

Antwoord 10

Toast.makeText(test.this, "bbb", Toast.LENGTH_LONG).apply{
setGravity(Gravity.CENTER, 0, 0)}.show()

Op deze manier kunt u het in één regel doen.


Antwoord 11

Gebruik deze regel:

 setGravity(Gravity.CENTER, 0, 0)}.show()

Dit kan niet werken op Android 11


Antwoord 12

De onderstaande code werkte voor mij.

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

Other episodes