效果图:
xml布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dialog_progressbar_rlt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="10dp" >
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:background="@android:color/white" >
<ProgressBar
android:id="@+id/dialog_progressbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp" />
</FrameLayout>
</RelativeLayout>
package com.bdyl.utils;
import android.app.ProgressDialog;
import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import com.bdyl.activity.R;
public class ProgressUtils {
private static ProgressDialog dialog;
public static void show(Context context) {
if (dialog == null) {
dialog = new ProgressDialog(context);
View v = LayoutInflater.from(context).inflate(
R.layout.dialog_progress_layout, null);
//设置屏幕背景颜色
v.setBackgroundColor(Color.argb(0, 130, 127, 127));
dialog.setTitle("");
//false后点击外部区域不会消失
dialog.setCanceledOnTouchOutside(false);
dialog.show();
dialog.setContentView(v);
}else {
dismiss();
show(context);
}
}
public static void dismiss() {
if (dialog != null && dialog.isShowing()) {
dialog.dismiss();
}
dialog = null;
}
}