android – 进度对话在Lollipop设备上有白色背景,

前端之家收集整理的这篇文章主要介绍了android – 进度对话在Lollipop设备上有白色背景,前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在 Android 5.0上迁移我的应用程序,即Lollipop设备,我有关于进度对话的问题,它在棒棒糖设备上完美运行,但在棒棒糖上它有白色背景,如图所示

但在棒棒糖前设备中它具有透明背景

以下是我的代码

布局中的progress.xml

<?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>

drawable中的myprogress.xml

<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>

在Java中我正在使用这样的

public ProgressDialog mProgressDialog;

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

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

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

解决方法

问题是棒棒糖的白色背景.

解决方案中的任何一个(两者都相同):

dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

要么

dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

猜你在找的Android相关文章