0

I'm trying to customize ProgressDialog style to have something like that:

enter image description here

What I have:

enter image description here

I know how to change spinner style and color, but what I didn't understand that is: how to make rounded-corners, I'm trying to use android:radius attribute, but nothing changes, and I don't know how to decrease padding. Maybe I can do it programmatically?

<style name="TransparentProgressDialog" parent="android:Theme.Holo.Dialog">
    <item name="android:alertDialogStyle">@style/CustomAlertDialogStyle</item>
    <item name="android:windowBackground">@color/transparent</item>
    <item name="android:textColorPrimary">#FFFFFF</item>
    <item name="android:backgroundDimEnabled">false</item>
    <item name="android:textColor">#FFFFFF</item>
    <item name="android:textStyle">normal</item>
    <item name="android:textSize">@dimen/_14sdp</item>
</style>

<style name="CustomAlertDialogStyle">
    <item name="android:bottomBright">@color/transparent</item>
    <item name="android:bottomDark">@color/transparent</item>
    <item name="android:bottomMedium">@color/transparent</item>
    <item name="android:centerBright">@color/transparent</item>
    <item name="android:centerDark">@color/transparent</item>
    <item name="android:centerMedium">@color/transparent</item>
    <item name="android:fullBright">@color/transparent</item>
    <item name="android:fullDark">@color/transparent</item>
    <item name="android:topBright">@color/transparent</item>
    <item name="android:topDark">@color/transparent</item>
</style>
VLeonovs
  • 2,193
  • 5
  • 24
  • 44

1 Answers1

2

try the below Code it works for me:

Put this XML file in drawable folder (dialog_progress_background.xml)

<corners android:radius="10dp" />

<solid android:color="#80000000" />

<padding
    android:bottom="40dp"
    android:left="40dp"
    android:right="40dp"
    android:top="40dp" />

Dailog layout (R.layout.dialog_spinner.xml)

<?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="fill_parent" >

    <ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/progressBar"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:text="Loading..."
        android:textColor="#FFFFFF" />

</RelativeLayout>

// Class for create custom Progress Dialog

public class ProgressBuilder {
    private Context context;
    private Dialog dialog;

    public ProgressBuilder(Context context) {
        this.context = context;

    }

    public void showProgressDialog() {
        dialog = new Dialog(context);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.getWindow().setBackgroundDrawable(
                context.getResources().getDrawable(
                        R.drawable.dialog_progress_background));
        dialog.setContentView(R.layout.dialog_spinner);
        dialog.setCancelable(false);
        dialog.show();
    }

    public TextView getTextView()
    {
        return (TextView)dialog.findViewById(R.id.textView1);
    }

    public Dialog getDialog()
    {
        return dialog;
    }

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

And call showProgressDialog() method to show Progress Dialog

ProgressBuilder dialog=new ProgressBuilder(MainActivity.this);
    dialog.showProgressDialog()  

//to dismiss the progress dialog

dialog.dismissProgressDialog()
Pradeep Gupta
  • 1,770
  • 1
  • 9
  • 23
  • please check [this](http://stackoverflow.com/questions/35223310/remove-white-background-from-progressdialog?noredirect=1#comment58160731_35223310) – VLeonovs Feb 05 '16 at 12:00