自定义简洁动画dialog

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());

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值