Y at-il de toute façon que je peux dire à une notification Toast d'apparaître seulement pour une durée déterminée. Généralement plus court qu'un message toast régulier.Définir Toast Apparaître Longueur
Répondre
J'ai trouvé une solution à ce toast.cancel en appelant() après un certain délai qui est plus courte que la durée de pain grillé standard.
final Toast toast = Toast.makeText(ctx, "This message will disappear in 1 second", Toast.LENGTH_SHORT);
toast.show();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
toast.cancel();
}
}, 1000);
No.
Vous pouvez faire quelque chose comme:
Toast a = Toast.makeText(this, "a", Toast.LENGTH_LONG);
a.setDuration(300);
mais il ne se manifestera. La durée doit être LENGTH_SHORT
ou LENGTH_LONG
.
Vous pouvez définir une durée plus longue en utilisant un hack, comme décrit here
// essayer
public void myToast(String message) {
LayoutInflater myInflator = getLayoutInflater();
View myLayout = myInflator.inflate(R.layout.custom_layout,
(ViewGroup) findViewById(R.id.toastlayout));
TextView myMessage = (TextView) myLayout.findViewById(R.id.label);
myMessage.setText(message);
Toast toast = new Toast(getApplicationContext());
toast.setView(myLayout);
toast.setDuration(400);
myMessage.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL
| Gravity.CENTER_VERTICAL);
toast.show();
}
Je ne pense pas que cela fasse quoi que ce soit pour prolonger la durée. Si la durée n'est pas LENGTH_SHORT ou LENGTH_LONG, elle est définie par défaut sur LENGTH_LONG. Cette méthode accepte des valeurs arbitraires dans la nature, mais en réalité, ne change que le comportement (longueur du toast) si la valeur n'est pas nulle. –
Essayez cette
final Toast toast = Toast.makeText(getBaseContext(), "YOUR MESSAGE",Toast.LENGTH_SHORT);
toast.show();
new CountDownTimer(10000, 1000)
{
public void onTick(long millisUntilFinished) {toast.show();}
public void onFinish() {toast.cancel();}
}.start();
espoir cette aide .. Profitez .. !!!
La classe stockée Android Toast est codée pour accepter uniquement un paramètre Toast.LENGTH_SHORT ou Toast.LENGTH_LONG lors de l'appel d'un Toast. Les valeurs de ces paramètres sont respectivement 0 et 1 et n'acceptent aucune valeur en millisecondes lors de l'appel de setDuration(); Si vous devez afficher un Toast pour une durée différente de celle que vous envisagez, utilisez une classe de ma bibliothèque SuperToasts. La classe SuperToast dans la bibliothèque est un imitateur de la classe Android Toast stock et peut avoir une valeur de milliseconde utilisée comme paramètre de durée. Je ne recommande pas d'utiliser cette classe pour montrer un Toast plus long que la longueur maximale d'Android Toast en raison de l'effet persistant de ces toasts. Je vous recommande d'utiliser la classe SuperActivityToast pour afficher les messages Toast dans une activité/un fragment, car le Toast sera détruit avec votre activité, ce qui élimine toute chance d'un message qui traîne. Pour utiliser cette classe, vous pouvez créer un nouvel objet:
SuperActivityToast superActivityToast = new SuperActivityToast(this);
superActivityToast.setDuration(SuperToast.DURATION_SHORT);
// setDuration(); can also accept millisecond values
// superActivityToast.setDuration(1000);
superActivityToast.setText("Hello world!");
superActivityToast.show();
Ou utilisez la méthode statique:
SuperActivityToast.createDarkSuperActivityToast(this, "Hello world!", SuperToast.DURATION_SHORT).show();
Il y a des tonnes d'options de personnalisation que vous pouvez utiliser avec la bibliothèque ainsi, consultez la Wiki page!
Voici une autre façon de configurer le temps selon votre choix:
public void showMsg(String msg, final long duration) {
final Toast toast = Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_LONG);
toast.show();
Thread t = new Thread() {
public void run(){
try {
sleep(duration);
toast.cancel();
} catch (InterruptedException e) {
e.printStackTrace();
}
finally { }
}
};
t.start();
}
REMARQUE: La durée est spécifiée en millisecondes.
Essayé sans succès ... – zeflex
J'ai développé une classe Toast personnalisée avec laquelle vous pouvez montrer Toast pour une durée déterminée ... jetez un oeil à ma réponse http://stackoverflow.com/questions/2220560/can-an-android-toast -be-plus-long-que-toast-longueur-long/21203554 # 21203554 –