Come è possibile visualizzare a livello di programmazione una clessidra in un'applicazione Android?clessidra Android
21
A
risposta
45
È possibile utilizzare un ProgressDialog
:
ProgressDialog dialog = new ProgressDialog(this);
dialog.setMessage("Thinking...");
dialog.setIndeterminate(true);
dialog.setCancelable(false);
dialog.show();
Il codice di cui sopra mostrerà il seguente dialogo sulla parte superiore del Activity
:
In alternativa (o in aggiunta) è possibile visualizzare un Progress indicatore nella barra del titolo del tuo Activity
.
È need to request this as a feature vicino alla parte superiore del metodo onCreate()
del vostro Activity
utilizzando il seguente codice:
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
poi accenderlo in questo modo:
setProgressBarIndeterminateVisibility(true);
e trasformarlo fuori in questo modo:
setProgressBarIndeterminateVisibility(false);
3
Ecco un semplice esempio di farlo 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();
}
}
}
Problemi correlati
- 1. Problema a clessidra in un'applicazione WinForm
- 2. Perché la clessidra (WaitCursor) smette di ruotare? Codice
- 3. Come evitare il cursore del mouse a forma di clessidra durante l'esecuzione della query SQL con TFDQuery in Delphi XE5
- 4. Android: Google MapView mostra un indicatore di avanzamento durante il caricamento della mappa
- 5. Android TabLayout Android Design
- 6. android EditText android: textDirection
- 7. Config Android Proguard Android
- 8. visualizzatore pdf in android android
- 9. Android vs android-sdk-mac_86
- 10. Android backbutton e schede Android
- 11. Ottimizza prestazioni listview Android Android
- 12. Studio Android + Gradle + Annotazioni Android
- 13. Rete Wi-Fi Android Android
- 14. android: theme = "@ android: style/Theme.NoTitleBar.Fullscreen" Non funziona android
- 15. Per quale obiettivo Android dovrei sviluppare? Android 4.4W o Android 4.4L o Android 4.4 kitkat?
- 16. Android Studio - Costruire un progetto Android con biblioteca Android, che dipende da un altro Biblioteca Android
- 17. Database di ricerca Android Android sul telefono
- 18. Android - quale usare Attivo Realm Android o
- 19. Android Studio - Monitoraggio dispositivo Android - Vista vuota
- 20. Android Studio - "Rilevato framework Android nel progetto"
- 21. Differenza tra android: id e android: labelFor?
- 22. Account editore Android su Android Market
- 23. Android: cercando di capire android: layout_weight
- 24. android - come posso usare "android: layoutDirection"?
- 25. Utilizzare android-maps-utils in Android Studio
- 26. Android Crosswalk Lite - Integrazione con Android Studio
- 27. Oauth 2.0 Android usa Spring-For-Android
- 28. ANDROID NDK - android: comando non trovato
- 29. Android + PhoneGap: android: windowSoftInputMode sembra non funzionare
- 30. Sicurezza threading Android LruCache (Android 3.1)
Il problema è che dopo la visualizzazione della finestra di dialogo sono andato un relativamente lungo trattamento che impedisce la visualizzazione della finestra di dialogo che appare alla fine del trattamento quando non ho più bisogno! – Arutha
Dai un'occhiata a 'AsyncTask'. Visualizzate e nascondete 'ProgressDialog' in' onPreExecute() 'e' onPostExecute' e svolgete il vostro lavoro in 'doInBackground'. http://android-developers.blogspot.com/2009/05/painless-threading.html –
Potrebbe anche valere la pena di leggere la Guida per gli sviluppatori Android "Designing For Responsiveness" http://developer.android.com/guide/practices/ design/responsiveness.html –