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?
- Problema con Toast en llamada AsyncTask método
- Cómo cambiar la posición de Toast en Android?
- Cancelar un brindis ya abierto en Android
- Tostadas personalizadas para Android
- ¿Cuál es el valor de Toast.LENGTH_LONG y Toast.LENGTH_SHORT?
- ¿Cuál es la duración de un brindis LENGTH_LONG y LENGTH_SHORT
- ¿Por qué no aparece mi brindis?
- El botón de Android muestra diferentes mensajes de Toast dependen del número de clics
- Cómo utilizar Tostadas cuando no puedo usar "esto" como contexto
- No se puede crear el controlador dentro de hilo que no ha llamado Looper.prepare () 3
- ¿Cómo dejar de mostrar el mensaje de Toast cuando la aplicación está cerrada?
- Cómo personalizar el brindis en Android
- ¿Cómo puedo mostrar un brindis por una duración específica?
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