• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Can't show custom ProgressDialog

I have had this problem for several days.
I can't see my custom progress dialog optimally.

custom progress dialog layout:
Code:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <androidx.cardview.widget.CardView
        android:layout_width="0dp"
        android:layout_height="183dp"
        android:layout_marginStart="16dp"
        android:layout_marginEnd="16dp"
        app:cardCornerRadius="8dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <ProgressBar
                android:id="@+id/progressLoading"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="16dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="0.498"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/txtProgress" />

            <TextView
                android:id="@+id/txtProgress"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="16dp"
                android:text="Test..."
                android:textAlignment="center"
                android:textColor="@color/black"
                android:textSize="18sp"
                android:textStyle="bold"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="0.495"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

            <TextView
                android:id="@+id/txtProgressCount"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="16dp"
                android:text="TextView"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="0.501"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/progressBarCount"
                app:layout_constraintVertical_bias="1.0" />

            <ProgressBar
                android:id="@+id/progressBarCount"
                style="?android:attr/progressBarStyleHorizontal"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="12dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="0.487"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/progressLoading" />


        </androidx.constraintlayout.widget.ConstraintLayout>


    </androidx.cardview.widget.CardView>

</androidx.constraintlayout.widget.ConstraintLayout>

class:

Java:
public class LoadingDialog{

    Context context;
    private Dialog dialog = null;
    public LoadingDialog(Context context) {
        this.context = context;
    }

    public void startLoadingDialog(String title) {
        dialog = new Dialog(context);
        dialog.setContentView(R.layout.custom_progressbar);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.setCanceledOnTouchOutside(false);
        dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
        TextView txtTitleCount = dialog.findViewById(R.id.txtProgressCount);
        TextView txtTitle = dialog.findViewById(R.id.txtProgress);
        ProgressBar barCount = dialog.findViewById(R.id.progressBarCount);
        txtTitle.setText(title);
        txtTitleCount.setVisibility(View.GONE);
        barCount.setVisibility(View.GONE);
        dialog.setCancelable(false);
        dialog.create();
        dialog.show();


    }

    public void dismissDialog() {
        dialog.dismiss();
    }


}

Main (where I call the progress dialog):

Java:
final LoadingDialog loadingDialog = new LoadingDialog(this);

                ExecutorService service = Executors.newFixedThreadPool(10);
                service.execute(() -> {
                    runOnUiThread(() -> loadingDialog.startLoadingDialog("prova"));
                    SystemClock.sleep(1000);

                    runOnUiThread(loadingDialog::dismissDialog);

                });

the screen remains dark but is not presented in front of the dialog
 

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones