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-position
offset en een y-position
offset.
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:
- de zwaartekracht werkt nietmeer. Zie https://developer.android. com/reference/android/widget/Toast#setGravity(int,%20int,%20int).
- de aangepaste weergave werkt nietwanneer deze vanaf de achtergrond wordt aangeroepen (en hoe dan ook verouderd). Zie https://developer.android.com/ reference/android/widget/Toast#setView(android.view.View)
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();