Dans Android Je veux afficher un message de pain grillé au bas de l'écran, j'ai essayé ceci:
Toast.makeText(test.this,"bbb", Toast.LENGTH_LONG).show();
Cela ne fonctionne pas, comment puis-je le faire correctement?
Pour afficher le Toast au centre de l'écran.
Toast toast = Toast.makeText(test.this,"bbb", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
positionnant votre pain grillé
Une notification standard de pain grillé apparaît près du bas de l'écran, centrée horizontalement. Vous pouvez changer cette position avec la méthode setGravity(int, int, int)
. Cela accepte trois paramètres: une constante Gravity
, une constante x-position
offset, et un y-position
décalage.
Par exemple, si vous décidez que le pain grillé doit apparaître dans le coin supérieur gauche, vous pouvez définir la gravité comme suit:
toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);
Si vous souhaitez déplacer la position vers la droite, augmentez la valeur du deuxième paramètre. Pour le réduire, augmentez la valeur du dernier paramètre.
Fichier de mise en forme pour toasts personnalisés
<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" />
Fichier .Java pour un toast personnalisé sur l'événement de clic du bouton
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();
}
});
}
}
Toast toast = new Toast(context);
toast.setGravity(Gravity.FILL_HORIZONTAL | Gravity.BOTTOM, 0, 0);
toast.show();
Dans Xamarin.Android, cela affiche le pain grillé au centre de l'écran:
Toast toast = Toast.MakeText(ApplicationContext, "bbb", ToastLength.Long);
toast.SetGravity(GravityFlags.Center, 0, 0);
toast.Show();
Afficher/régler la gravité du texte au centre (horizontalement) 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()
}