private static Dialog loadDataDialog;
public static void showLoadDataDialog(Context context){
loadDataDialog = new Dialog(context,R.style.dialog);loadDataDialog.setContentView(R.layout.load_data);
WindowManager.LayoutParams lp=loadDataDialog.getWindow().getAttributes();
// 模糊度
loadDataDialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
lp.alpha=0.5f;
loadDataDialog.getWindow().setAttributes(lp);
loadDataDialog.show();
}
public static void closeLoadDataDialog() {
if (loadDataDialog != null && loadDataDialog.isShowing()) {
loadDataDialog.dismiss();
}
}
}
load_data.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/transparent"
>
<ProgressBar
android:indeterminateDrawable="@anim/update_loading_progressbar_anim"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
/>
</FrameLayout>
//备注:最外层是一个FrameLayout,如果换成其他就会出现背景,不知道为什么?知道的可以帮忙看一下
style.xml
<style name="dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<!-- 边框 -->
<item name="android:windowIsFloating">true</item>
<!-- 是否浮现在activity之上 -->
<item name="android:windowIsTranslucent">true</item>
<!-- 半透明 -->
<item name="android:windowNoTitle">true</item>
<item name="android:background">@color/transparent</item>
<item name="android:windowBackground">@color/transparent</item>
<item name="android:backgroundDimEnabled">true</item>
<!-- 模糊 -->
</style>