Cómo establecer el tiempo de visualización de Toast menos de Toast.LENGTH_SHORT
Quiero mostrar tostadas menos de Toast.LENGTH_SHORT, ya que siento que su toma alrededor de 2 segundos. Quiero mostrar tostadas sólo por medio segundo.
¿Y cuál es el intervalo de tiempo para Toast.LENGTH_SHORT y Toast.LENGTH_LONG?
- Cancelar un brindis ya abierto en Android
- Desea ocultar la tostada de Android cuando la aplicación está en segundo plano
- Android - ¿Cómo excute el brindis cada 10 segundos usando ScheduledExecutorService?
- ¿Mostrar dos mensajes Toast a la vez?
- Comparando dos veces en android
- Error debido a la combinación no válida de Toast y OnClickListener
- Android Vibrar en la tostada (Homer: Mmmm vibrar en la tostada)
- ¿Puedo cancelar Toast anterior cuando quiero mostrar otro Toast?
- Tostadas que llegan varias veces
- Java.lang.RuntimeException: No se puede crear el controlador dentro de hilo que no ha llamado Looper.prepare ();
- Abrir PDF en un WebView
- Use el pan tostado dentro del fragmento
- No se puede crear el controlador dentro de hilo que no ha llamado Looper.prepare ()
Sólo hay dos valores posibles:
private static final int LONG_DELAY = 3500; // 3.5 seconds private static final int SHORT_DELAY = 2000; // 2 seconds
El ajuste de otros valores no funciona. Si la duración no es igual a 1 ( Toast.LENGTH_LONG
), la duración será SHORT_DELAY (2 segundos):
long delay = immediate ? 0 : (r.duration == Toast.LENGTH_LONG ? LONG_DELAY : SHORT_DELAY);
En fuentes de Toast
escritas que
Este tiempo podría ser definido por el usuario.
Pero no puedo encontrar la manera de hacer esto.
Actualización: Hay una solución aquí: Set Toast Aparecer Longitud
Esto ha funcionado para mí
final Toast toast = Toast.makeText(getApplicationContext(), "The following message will disappear in half second", Toast.LENGTH_SHORT); toast.show(); Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { toast.cancel(); } }, 500);
Vea mi solución sugerida aquí . Usted básicamente llama a toast.cancel () después de un retardo especificado que es más corto que la duración de tostada estándar.
Prueba esto
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();
Espero que esta ayuda .. Disfrute .. !!!
Para noobs he hecho la solución más simple – un método.
public void showToastMessage(String text, int duration){ final Toast toast = Toast.makeText(getActivity(), text, Toast.LENGTH_SHORT); toast.show(); Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { toast.cancel(); } }, duration); }
También debe importar:
import android.os.Handler; import android.widget.Toast;
Puede llamar a este método, por ejemplo:
showToastMessage("your noob", 1000);
Método anterior debería funcionar sólo en Fragmento! Si desea que funcione en Actividad, reemplace getActivity () con getApplicationContext () en el mensaje de brindis. Buena suerte desarrolladores!
funcionará.
public void toastMessage(final String message) { this.runOnUiThread(new Runnable() { public void run() { 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(100); myMessage.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL); toast.show(); } }); }
Esto parece funcionar para mí (establecer la duración de lo que quieras):
mActivity.runOnUiThread(new Runnable() { public void run() { Toast toast = new Toast(mActivity .getApplicationContext()); toast.setView(layout); toast.setDuration(400); toast.setGravity(Gravity.TOP|Gravity.CENTER_HORIZONTAL, 0, 0); toast.show(); } });
- Datepicker para Android min max date before api level 11
- Android SharedPreferences, cómo guardar una variable int simple