1
public class GifDialogShow {
private static Dialog mDialog;
private static View dialog;
private static ImageView mImageView;
@SuppressLint("InflateParams")
public static void showRoundProcessDialog(Context mContext) {
closeDialog();
if (mContext == null) {
return;
}
OnKeyListener keyListener = new OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
mDialog.dismiss();
}
if (keyCode == KeyEvent.KEYCODE_BACK) {
mDialog.dismiss();
}
return false;
}
};
mDialog = new Dialog(mContext, R.style.gif_dialog);
dialog = LayoutInflater.from(mContext).inflate(R.layout.loading_process_gif_dialog_icon,
null);
mImageView = dialog.findViewById(R.id.loading_process_dialog_img);
Glide.with(mContext).load(R.mipmap.dy).into(mImageView);
/*.apply(new RequestOptions().error(R.mipmap.dy).placeholder(R.mipmap.dy))*/
mDialog.setCanceledOnTouchOutside(false);
mDialog.setOnKeyListener(keyListener);
mDialog.setCancelable(false);
mDialog.setContentView(dialog);
mDialog.show();
}
public static void closeDialog() {
if (null != mDialog && mDialog.isShowing()) {
mDialog.dismiss();
}
}
public static boolean isShow() {
return mDialog.isShowing();
}
}
styles
<style name="gif_dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowBackground">@android:color/transparent</item><!--背景透明-->
<item name="android:windowFrame">@null</item><!--边框-->
<item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
<item name="android:windowIsTranslucent">false</item><!--半透明-->
<item name="android:windowNoTitle">true</item><!--无标题-->
<!--<item name="android:background">@null</item>-->
<item name="android:backgroundDimEnabled">false</item><!--模糊-->
</style>
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"
>
<ImageView
android:id="@+id/loading_process_dialog_img"
android:layout_width="@dimen/qb_px_300"
android:layout_height="@dimen/qb_px_300"
android:layout_centerHorizontal="true"/>
<!--
<ProgressBar
android:id="@+id/loading_process_dialog_progressBar"
android:layout_width="44dip"
android:layout_height="44dip"
android:visibility="gone"
android:layout_centerHorizontal="true"
android:layout_marginLeft="50dp"
android:indeterminate="false"
android:indeterminateDrawable="@drawable/progress_circle_shape"/>
<TextView
android:id="@+id/loading_process_dialog_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/loading_process_dialog_progressBar"
android:layout_centerHorizontal="true"
android:visibility="gone"
android:layout_marginTop="10dp"
android:text="正在加载..."
android:textColor="@color/white"/>-->
</RelativeLayout>
图片资源
是一个gif图
上传到demo里了
使用
GifDialogShow.showRoundProcessDialog(getContext());