¿Cómo puedo mostrar programáticamente un reloj de arena en una aplicación de Android?reloj de arena android
21
A
Respuesta
45
Puede utilizar un ProgressDialog
:
ProgressDialog dialog = new ProgressDialog(this);
dialog.setMessage("Thinking...");
dialog.setIndeterminate(true);
dialog.setCancelable(false);
dialog.show();
El código anterior mostrará el siguiente cuadro de diálogo en la parte superior de su Activity
:
Alternativamente (o adicionalmente) puede mostrar un progreso indicador en la barra de título de su Activity
.
Usted need to request this as a feature cerca de la cima del método onCreate()
de su Activity
usando el siguiente código:
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
A continuación, encenderlo de esta manera:
setProgressBarIndeterminateVisibility(true);
y convertirlo así:
setProgressBarIndeterminateVisibility(false);
3
Aquí está un ejemplo simple de hacerlo usando AsyncTask:
public class MyActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
...
new MyLoadTask(this).execute(); //If you have parameters you can pass them inside execute method
}
private class MyLoadTask extends AsyncTask <Object,Void,String>{
private ProgressDialog dialog;
public MyLoadTask(MyActivity act) {
dialog = new ProgressDialog(act);
}
protected void onPreExecute() {
dialog.setMessage("Loading...");
dialog.show();
}
@Override
protected String doInBackground(Object... params) {
//Perform your task here....
//Return value ... you can return any Object, I used String in this case
try {
Thread.sleep(6000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return(new String("test"));
}
@Override
protected void onPostExecute(String str) {
//Update your UI here.... Get value from doInBackground ....
if (dialog.isShowing()) {
dialog.dismiss();
}
}
}
Cuestiones relacionadas
- 1. Problema de reloj de arena en una aplicación WinForm
- 2. Qt - cambie el cursor al reloj de arena y deshabilite el cursor
- 3. Arena en Malloc Función
- 4. ¿Cómo configuro el cursor de mi mouse en el reloj de arena híbrido y la flecha en el código? (.NET)
- 5. ¿Podemos acelerar el castillo de arena?
- 6. obteniendo UUID de G-Shock reloj bluetooth android
- 7. reloj() precisión en time.h
- 8. Reloj preciso en Erlang
- 9. Reloj dinámico en java
- 10. El reloj del emulador no coincide con el reloj del sistema host
- 11. ¿Es segura la técnica de "caja de arena iframe"?
- 12. SecurityManager para un servicio en la nube "caja de arena"
- 13. sass - ¿reloj con minify automático?
- 14. recuento de ciclos de reloj con GCC
- 15. Aplicación de reloj despertador en .Net
- 16. Creación de reloj digital usando un hilo
- 17. Establecer el reloj de hardware en Python?
- 18. proceso de reloj personalizado en heroku
- 19. Mueva la manecilla de los minutos en el reloj de Android
- 20. tiempo de formateo en Android, mientras siguientes preferencias (24 h vs reloj AM/PM, etc ..)
- 21. ¿Cómo se puede evitar explotar el reloj en los juegos de Android?
- 22. jQuery reloj para cambios en el domo?
- 23. DateTime.Parse DD/Reloj MM/AAAA 24 horas
- 24. ¿Cuán preciso es el reloj GPS?
- 25. ¿Reloj constantemente actualizado en el prompt zsh?
- 26. directorio src reloj CoffeeScript para compilar
- 27. malos resultados: Tiempo (NULL) y el reloj()
- 28. Cómo usar el reloj() en C++
- 29. El cambio del reloj del sistema Android detiene los temporizadores. ¿Cómo puedo reiniciarlos?
- 30. Android: Google MapView muestra un indicador de progreso mientras se carga el mapa
El problema es que después de mostrar el cuadro de diálogo me encontré con un tiempo relativamente largo tratamiento que previene la pantalla del cuadro de diálogo que aparece al final de tratamiento cuando ya no lo necesito! – Arutha
Eche un vistazo a 'AsyncTask'. Muestra y oculta el 'ProgressDialog' en' onPreExecute() 'y' onPostExecute' y hace su trabajo en 'doInBackground'. http://android-developers.blogspot.com/2009/05/painless-threading.html –
También valdría la pena leer la Guía para programadores de Android "Diseñar para la receptividad" http://developer.android.com/guide/practices/ design/responsiveness.html –