tpA tpA - 2 months ago 14
Android Question

Progress dialogue has white background on Lollipop Devices ,

I am migrating my application on Android 5.0 i.e. Lollipop devices , I have problem regarding progress dialog , It work perfectly on pre lollipop devices , but on lollipop it has white background as shown in image enter image description here

But in pre lollipop devices it is of transparent background
enter image description here

Below is my code :

progress.xml in layout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@android:color/transparent" >


<ProgressBar
android:id="@+id/progressBar3"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:layout_centerHorizontal="true"

android:indeterminate="true"
android:indeterminateDrawable="@drawable/myprogress"
android:minHeight="48dp" />
</RelativeLayout>


myprogress.xml in drawable



<shape
android:shape="oval"
android:useLevel="false" >
<size
android:height="48dip"
android:width="48dip" />

<gradient
android:centerColor="#ff001100"
android:centerY="0.50"
android:endColor="#ffffffff"
android:startColor="#ff000000"
android:type="sweep"
android:useLevel="false" />
</shape>




and in Java i am using like this

public ProgressDialog mProgressDialog;

if (mProgressDialog != null && mProgressDialog.isShowing()) {
mProgressDialog.cancel();
}

mProgressDialog = new ProgressDialog(context);
mProgressDialog.setCancelable(false);

mProgressDialog.show();
mProgressDialog.setContentView(R.layout.progress);

tpA tpA
Answer

I solved this problem with help of this tutorial http://www.techrepublic.com/blog/software-engineer/create-a-transparent-progress-dialog-on-android/

I just pass my drawable into this code

mProgressDialog = new TransparentProgressDialog(context, **R.drawable.progress**);
        mProgressDialog.setCancelable(false);

and rest code is same as in this example.