Created
March 27, 2020 08:09
-
-
Save courville/95131f2b97fcf93ee6838ee06b1d68c0 to your computer and use it in GitHub Desktop.
simple AlertDialog fo replace ProgressDialog which is deprecated
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private AlertDialog alertDialog = null; | |
private ProgressBar progressBar = null; | |
private TextView textView = null; | |
public void displaySimpleDialog(Context context, boolean isSpinner, String dialogText, int progress, int maxProgress) { | |
if (alertDialog == null) { // init part | |
AlertDialog.Builder builder = new AlertDialog.Builder(context); | |
builder.setOnCancelListener(dialog -> { | |
dialog.cancel(); | |
// do cleaning stuff | |
}); | |
builder.setOnDismissListener(dialog -> { | |
dialog.cancel(); | |
// do cleaning stuff | |
}); | |
if (isSpinner) { | |
builder.setView(R.layout.spinner_dialog); | |
alertDialog = builder.create(); | |
alertDialog.show(); | |
progressBar = alertDialog.findViewById(R.id.spinner); | |
} else { | |
builder.setView(R.layout.progressbar_dialog); | |
alertDialog = builder.create(); | |
alertDialog.show(); | |
progressBar = alertDialog.findViewById(R.id.progressBar); | |
} | |
textView = alertDialog.findViewById(R.id.textView); | |
alertDialog.setCancelable(true); // to be able to exit via back | |
alertDialog.setCanceledOnTouchOutside(false); // to not cancel when tapping the screen out of dialog zone | |
} | |
// update part | |
if (!isSpinner && progressBar != null) { | |
progressBar.setMax(progress); | |
progressBar.setProgress(maxProgress); | |
} | |
// programmatically set the textView text | |
if (textView != null) textView.setText(dialogText); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:layout_gravity="center" | |
android:gravity="center" | |
android:orientation="vertical"> | |
<TextView | |
android:id="@+id/textView" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent" | |
android:layout_gravity="center" | |
android:gravity="center" | |
android:paddingStart="5dip" | |
android:paddingTop="5dp" | |
android:paddingEnd="5dp" | |
android:paddingBottom="5dp" | |
android:textAppearance="@style/TextAppearance.AppCompat.Medium" /> | |
<ProgressBar | |
android:id="@+id/progressBar" | |
style="@style/Widget.AppCompat.ProgressBar.Horizontal" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent" | |
android:layout_gravity="center" | |
android:gravity="center" | |
android:indeterminate="false" | |
android:paddingStart="5dip" | |
android:paddingTop="5dp" | |
android:paddingEnd="5dp" | |
android:paddingBottom="5dp" | |
android:visibility="visible" /> | |
</LinearLayout> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:layout_gravity="center" | |
android:gravity="center" | |
android:orientation="horizontal"> | |
<ProgressBar | |
android:id="@+id/spinner" | |
style="@style/Widget.AppCompat.ProgressBar" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:layout_gravity="center" | |
android:indeterminate="true" | |
android:paddingStart="5dip" | |
android:paddingTop="5dp" | |
android:paddingEnd="5dp" | |
android:paddingBottom="5dp" /> | |
<TextView | |
android:id="@+id/textView" | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:layout_gravity="center" | |
android:paddingStart="5dip" | |
android:paddingTop="5dp" | |
android:paddingEnd="5dp" | |
android:paddingBottom="5dp" | |
android:textAppearance="@style/TextAppearance.AppCompat.Medium" /> | |
</LinearLayout> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment