public class YourActivity extends Activity{
private ProgressBar bar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout);
bar = (ProgressBar) this.findViewById(R.id.progressBar);
new ProgressTask().execute();
}
private class ProgressTask extends AsyncTask <Void,Void,Void>{
@Override
protected void onPreExecute(){
bar.setVisibility(View.VISIBLE);
}
@Override
protected Void doInBackground(Void... arg0) {
//my stuff is here
}
@Override
protected void onPostExecute(Void result) {
bar.setVisibility(View.GONE);
}
}
}
drawable/progress.xml Dies ist ein Brauch ProgressBar die ich verwende, um die Standardfarben zu ändern.
<?xml version="1.0" encoding="utf-8"?>
<!--
Duration = 1 means that one rotation will be done in 1 second. leave it.
If you want to speed up the rotation, increase duration value.
in example 1080 shows three times faster revolution.
make the value multiply of 360, or the ring animates clunky
-->
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="1"
android:toDegrees="360" >
<shape
android:innerRadiusRatio="3"
android:shape="ring"
android:thicknessRatio="8"
android:useLevel="false" >
<size
android:height="48dip"
android:width="48dip" />
<gradient
android:centerColor="@color/color_preloader_center"
android:centerY="0.50"
android:endColor="@color/color_preloader_end"
android:startColor="@color/color_preloader_start"
android:type="sweep"
android:useLevel="false" />
</shape>
</rotate>
danke für die Antwort. Was soll ich in den Drawable-Ordner legen? (welche Fortschrittsdatei ist?)
– Andreas Rahimov
23. März 2013 um 11:11 Uhr
Was sind die Farbcodewerte für color_preloader_center, color_preloader_end und color_preloader_start?
– Sankar V
20. August 2013 um 9:14 Uhr
Danke für diese Antwort 🙂 Gibt es eine Möglichkeit, es schneller drehen zu lassen?
– Maximosaik
12. Dezember 2013 um 8:29 Uhr
@SankarV Ich habe #000000#000000#ff56a9c7 verwendet
– Odysseus
21. Juli 2014 um 16:37 Uhr
Ich habe den Wert im Größen-Tag sowohl für die Höhe als auch für die Breite in der Datei drawable/progress.xml geändert, aber es hat keine Auswirkungen. Irgendwelche Ideen?
Ich benutzte View.INVISIBLE und View.VISIBLE und die ProgressBar würde langsam blinken, anstatt ständig sichtbar zu sein, umgeschaltet View.GONE und View.VISIBLE und es funktioniert perfekt
Dilip Lohar
ProgressBar-Dialog – Sie müssen nicht ständig benutzerdefinierten progressBar-Code schreiben, eine Klasse unten erstellen und verwenden
public class DProgressbar {
Dialog progressDialog ;
public DProgressbar(Context context) {
progressDialog = new Dialog(context);
progressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
progressDialog.setContentView(R.layout.dialog_api_loading);
progressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
progressDialog.setCancelable(false);
}
public void show(){
progressDialog.show();
}
public void dismiss(){
progressDialog.dismiss();
}
}
Sie können dies zum Erstellen benutzerdefinierter Dialoge ausprobieren: stackoverflow.com/a/26821095/1554031
– Satisch
8. November 2014 um 19:41 Uhr
Diese Antwort hat bei mir funktioniert stackoverflow.com/questions/21957263/…
– Dharmita bhatt
7. Juni 2016 um 6:40 Uhr