Chcę mieć ProgressDialog
z ustalonym paskiem postępu zamiast domyślnego pokrętła. Wydaje się łatwe: ProgressDialog
ma metodę setIndeterminate
, a metoda show
przyjmuje wartość boolowską, aby wskazać nieokreśloność. Ale te sposoby nie działają dla mnie! Okno dialogowe jest nadal nieokreślone za pomocą pokrętła. Jak zmienić zachowanie?Determinate ProgressDialog w Androidzie
Odpowiedz
Trzeba zadzwonić:
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
Zapoznaj się oficjalny przewodnik dev Showing a progress bar z kodem źródłowym przykład dołączony do tej sekcji.
ProgressDialog dialog = new ProgressDialog(this);
dialog.setMessage("Registering. Please wait...");
dialog.setIndeterminate(true);
dialog.setCancelable(false);
dialog.show();
Try this code should work fine...
Myślę, że mnie źle zrozumiałeś: potrzebuję określonego paska postępu, który pokazuje, jak wiele z tego procesu zostało zakończonych. – aplavin
Oh Sorry.. Try this
1) Create a layout file with below code
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:id="@+id/RelativeLayout_DownloadProgress" android:paddingLeft="20dp" android:paddingBottom="20dp" android:paddingRight="10dp" android:paddingTop="20dp">
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/downloading_video_tv" android:text="@string/downloading_video" android:textStyle="bold" android:textColor="@color/COLOR_WHITE"></TextView>
<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/download_progress_tv" android:text="@string/zero_percent" android:layout_below="@+id/downloading_video_tv" android:textColor="@color/COLOR_WHITE"></TextView>
<Button
android:id="@+id/download_cancel_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/downloading_video_tv"
android:text="@string/Cancel"
android:textColor="@color/COLOR_CANCEL_BTN" android:layout_marginLeft="5dp">
</Button>
<ProgressBar
android:id="@+id/download_progressbar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="13dp"
android:layout_below="@id/download_progress_tv"
android:layout_toLeftOf="@id/download_cancel_btn"
android:indeterminateOnly="false"
android:max="100"
android:progressDrawable="@drawable/dwnld_progress" >
</ProgressBar>
</RelativeLayout>
2) In your code do the following
i) in oncreate() method add the following lines..
//Download progress layout inflate
RelativeLayout relativelayout_DownloadProgress = (RelativeLayout)_inflater.inflate(R.layout.downloadprogress, null);
TextView downloadProgress_PercentageTV = (TextView)relativelayout_DownloadProgress.findViewById(R.id.download_progress_tv);
Button downloadProgress_CancelBtn = (Button)relativelayout_DownloadProgress.findViewById(R.id.download_cancel_btn);
ProgressBar download_progressBar = (ProgressBar)relativelayout_DownloadProgress.findViewById(R.id.download_progressbar);
downloadProgress_CancelBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
dismissDialog(0);
}
});
ii) //Creating Dialogs i.e., below onCreate() method
protected Dialog onCreateDialog(int id) {
switch (id) {
case 0:
return new AlertDialog.Builder(_activity)
.setView(relativelayout_DownloadProgress)
.create();
}//switch end
return null;
}//onCreateDialog()
iii) on any click event add the following lines.
showDialog(0);download_progressBar.setProgress(0);
Sorry i know its too long code but its working code in application...Try it might need modifications like variables must be declared in class scope.
czy powyższy kod był dla ciebie przydatny ... – Ishu
Ten kod używa ProgressBar, a nie ProgressDialog. Mam nadzieję, że takie zachowanie uda się osiągnąć dzięki ProgressDialog, i tylko wtedy, gdy tak nie jest, zrobi tak, jak sugerowałeś. – aplavin
Tak, używa ProgressBar, ale ten widok jest wyświetlany jako okno dialogowe, więc ich nie może być żadnych problemów i to samo działa kod w mojej bieżącej aplikacji, która im działa. – Ishu
- 1. Wyłącza przyciemnienie tła w ProgressDialog/AlertDialog w Androidzie
- 2. progressDialog w AsyncTask
- 3. Co oznacza "nieokreślony" w ProgressDialog?
- 4. Odrzucenie ProgressDialog w systemie Android
- 5. Używanie niestandardowego ProgressDialog android
- 6. Zmiana stylu ProgressDialog
- 7. ProgressDialog: zmiana rozmiaru tekstu
- 8. ProgressDialog jest przestarzałe
- 9. Lollipop - zmiana koloru ProgressDialog
- 10. ProgressDialog przędzenie koło
- 11. Dlaczego moje wyjście ProgressDialog jest zamykane po kliknięciu na aktywność?
- 12. Jak ustawić kompozycję do ProgressDialog?
- 13. wyświetlać progressdialog podczas wczytywania listview
- 14. Pobieranie plików w Androidzie
- 15. Android: jak zmienić kolor tekstu ProgressDialog?
- 16. Pokaż ProgressDialog podczas ładowania układu z setContentView
- 17. setRequestedOrientation przed wyświetleniem ProgressDialog prowadzi do awarii
- 18. ProgressDialog (fragment), który działa przez przełącznik orientacji
- 19. ProgressDialog nie wyświetla się podczas wykonywania zadania
- 20. Jak wyświetlić ProgressDialog przy użyciu fragmentu
- 21. Jaka jest różnica między Progressbar a progressDialog?
- 22. Android: ProgressDialog nie jest wyświetlany w klasie adaptera
- 23. Jak zmienić domyślny ProgressDialog kolor okrąg w Android
- 24. ProgressDialog utworzone z onCreateDialog przestanie animacji na drugim biegu
- 25. Ukrywanie klawiatury po wywołaniu nowej czynności, która pokazuje ProgressDialog
- 26. Globalne wyszukiwanie w Androidzie
- 27. SQLiteDiskIOException w Androidzie
- 28. Połączyć obrazy w Androidzie
- 29. Brak rejestracji w Androidzie?
- 30. SwiperefreshLayout w Androidzie
Przykład tego linku naprawdę pomógł, dziękuję) – aplavin