È comunque possibile comunicare a Toast Notification di essere visualizzato solo per un periodo di tempo specificato. Generalmente più breve di un normale messaggio di toast.Set Toast Appear Length
risposta
ho trovato una soluzione a questo chiamando toast.cancel() dopo un certo ritardo che è più breve rispetto alla durata brindisi 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.
Si può fare qualcosa di simile:
Toast a = Toast.makeText(this, "a", Toast.LENGTH_LONG);
a.setDuration(300);
ma non sarà mostrarsi.
La durata deve essere LENGTH_SHORT
o LENGTH_LONG
.
È possibile impostare una durata più lunga utilizzando un hack, come descritto here
// provare
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();
}
Non penso che questo faccia nulla per estendere la durata. Se la durata non è né LENGTH_SHORT né LENGTH_LONG, il valore predefinito è LENGTH_LONG. Questo metodo accetta valori arbitrari in natura, ma in realtà modifica solo il comportamento (durata del brindisi) se il valore non è zero. –
Prova questa
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();
Spero che questo aiuto .. Godetevi .. !!!
La classe Android Toast stock è codificata per accettare solo un parametro Toast.LENGTH_SHORT o Toast.LENGTH_LONG quando si chiama un Toast. I valori di questi parametri sono rispettivamente 0 e 1 e non accettano alcun valore di millisecondo quando si chiama setDuration(); Se devi mostrare un toast per una durata diversa da quella che potresti prendere in considerazione di utilizzare una classe dalla mia libreria SuperToasts. La classe SuperToast nella libreria è un imitazione della classe Android Toast di riserva e può avere un valore di millisecondo utilizzato come parametro di durata. Non è consigliabile utilizzare questa classe per mostrare un Toast più lungo rispetto alla durata massima del toast Android Android a causa dell'effetto persistente di questi toast. Vi consiglio di utilizzare la classe SuperActivityToast per mostrare i messaggi Toast in un'attività/frammento poiché il Toast sarà distrutto insieme alla vostra attività, eliminando ogni possibilità di un messaggio persistente. Per utilizzare questa classe è possibile creare un nuovo oggetto:
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();
Oppure utilizzare il metodo statico:
SuperActivityToast.createDarkSuperActivityToast(this, "Hello world!", SuperToast.DURATION_SHORT).show();
Ci sono tonnellate di opzioni di personalizzazione che è possibile utilizzare con la libreria, così, controllare il Wiki pagina!
Ecco un altro modo per configurare il tempo secondo la vostra scelta:
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();
}
NOTA: La durata è specificato in millisecondi.
Provato senza successo ... – zeflex
- 1. JQuery "on appear" event
- 2. .length() vs .getText(). Length() vs .getText(). ToString(). Length()
- 3. Android: Notifica personalizzata Toast Eredita Default Toast
- 4. Cornice per toast trasparente
- 5. Notifica locale del toast
- 6. Android Toast non scomparirà
- 7. Toast personalizzati schermo superiore
- 8. Cambia carattere Toast
- 9. Kotlin per Android. Toast
- 10. Qual è il codice "length === + length" significa in JavaScript?
- 11. Powershell EncodedCommand Length Issue
- 12. GetPrivateProfileString - Buffer length
- 13. Intestazione HTTP - ntCoent-Length
- 14. UIRefreshControl pull length
- 15. integer length in javascript
- 16. java.nio.charset.MalformedInputException: Input length = 1
- 17. Android come Toast in Swing
- 18. Equivalente Android Toast in iOS
- 19. Windows nativo WPF 10 toast
- 20. Toast non visualizzato in UnCaughtExceptionHandler
- 21. Equivalente Android toast in JavaFX
- 22. Aggiunta di un'immagine a Toast?
- 23. ArrayIndexOutOfBoundsException quando mostra Toast su Android Lollipop
- 24. complessità temporale di javascript .length
- 25. React Testo nativoInput max length
- 26. PHP CURL: Impostare manualmente l'intestazione Content-Length
- 27. Posso annullare il precedente Toast quando voglio mostrare un altro Toast?
- 28. Come visualizzare Toast al centro dello schermo
- 29. Animazione personalizzata per Toast entra/esci?
- 30. Creazione di un fullscreen Toast personalizzato
Ho sviluppato una classe Toast personalizzata con cui è possibile visualizzare Toast per un determinato periodo di tempo ... dare un'occhiata alla mia risposta http://stackoverflow.com/questions/2220560/can-an-android-toast -be-più-lungo-lungo-lungo-lungo/21203554 # 21203554 –