2016-07-02 12 views
6

Programowo utworzyłem program ProgressBar w mojej działalności. Jak mogę to pokazać?Programowo programuj i wyświetlaj pasek postępu.

progressBar = new ProgressBar(activity, null, android.R.attr.progressBarStyleSmall); 
+0

Dzięki za odpowiedzi. Ale nie używam ProgressDialog. Chcę, aby pasek postępu pokazywał w ramach aktywności jako nieokreślony. Dzięki. – user6304758

Odpowiedz

1

progressBar to widget (widok). Musisz dodać do grupy przeglądania.

Można użyć ProgressDialog pokazać postępu ładowania Przykład:

ProgressDialog proDialog = ProgressDialog.show(this, "title", "message"); 
+2

Poziom interfejsu API 26 "ProgressDialog" jest przestarzały. – Asha

+0

następnie Jak ustawić pasek wiadomości w toku Programowo –

0

Każda działalność ma widok zawartości. Jest to główny widok Twojej aktywności, który ustawiasz, wywołując funkcję setContentView(). Każdy widok na ekranie musi być dzieckiem tego widoku (lub dzieckiem dziecka, itp.). Wyjątkiem są dialogi, które pojawiają się w osobnym oknie, ale to już inna dyskusja.

Jeśli chcesz, aby widok był wyświetlany na ekranie, musisz dodać go do niektórych ViewGroup w widoku treści.

W rzeczywistości normalny sposób korzystania z pasków postępu podczas ładowania jest inny. Zwykle dodajesz jeden do swojego ml, ale ustawiasz jego widoczność na GONE, aby się nie pojawiła. Kiedy chcesz, żeby się pojawił, ustaw to na WIDOCZNE. Wygląda na to, że pojawia się pasek postępu, ale naprawdę był ukryty cały czas.

6

Możesz wypróbować ten kod, aby dodać program progressBar do twojego układu.

RelativeLayout layout = new RelativeLayout(this); 
ProgressBar progressBar = new ProgressBar(YourActivity.this,null,android.R.attr.progressBarStyleLarge); 
progressBar.setIndeterminate(true); 
progressBar.setVisibility(View.VISIBLE); 
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(100,100); 
params.addRule(RelativeLayout.CENTER_IN_PARENT); 
layout.addView(progressBar,params); 

setContentView(layout); 
0

można dodać Progressbar w pliku xml jak ten

<ProgressBar 
      android:id="@+id/pbProgress" 
      android:style="@style/Spinner" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 
     </ProgressBar> 

i widoczne, niewidoczne to pragmatycznie.

To jest sposób dodania paska postępu w pliku xml , ale jeśli chcesz dodać pragmatycznie możesz użyć progressBar.setVisibility (View.Visible), aby wyświetlić pasek postępu lub możesz użyć progressBar.setVisibility (View.Gone) aby ukryć pasek postępu w działaniu.

+0

Wiem, że jest to stare pytanie, ale naprawdę zapytał ** Programowo **, twoja odpowiedź omawia sposób dodania go ręcznie za pomocą XML, a nawet nie zawierasz instrukcji jak zrobić jest widoczny i niewidoczny programowo. Zmodyfikuj swoją odpowiedź: – MosabJ

+0

Edytuję odpowiedź, prosząc o ulepszenie. –

+0

ustawianie zmian widoczności nie działa –