riku
2025-10-30 e9aa93f381afcf9f9cf0c39f2b9e32375ed49528
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
package cn.flightfeather.thirdappmodule.util;
 
import android.app.Dialog;
import android.content.Context;
import android.support.annotation.LayoutRes;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.LinearLayout;
 
import com.cazaea.sweetalert.SweetAlertDialog;
 
import cn.flightfeather.thirdappmodule.R;
import cn.flightfeather.thirdappmodule.module.base.BaseDialog;
 
/**
 * Created by feiyu on 2018/8/3.
 * 显示加载弹出框
 */
 
public class DialogUtil {
 
    public static BaseDialog createLoadingDialog(Context context, String msg) {
        LayoutInflater inflater = LayoutInflater.from(context);
        View v = inflater.inflate(R.layout.layout_loading, null);// 得到加载view
        LinearLayout layout = (LinearLayout) v
                .findViewById(R.id.dialog_loading_view);// 加载布局
//        TextView tipTextView = (TextView) v.findViewById(R.id.tipTextView);// 提示文字
//        tipTextView.setTitle(msg);// 设置加载信息
 
        BaseDialog loadingDialog = new BaseDialog(context);// 创建自定义样式dialog
        loadingDialog.setCancelable(false); // 是否可以按“返回键”消失
        loadingDialog.setCanceledOnTouchOutside(false); // 点击加载框以外的区域
        loadingDialog.setContentView(layout, new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.MATCH_PARENT));// 设置布局
        /**
         *将显示Dialog的方法封装在这里面
         */
        Window window = loadingDialog.getWindow();
        WindowManager.LayoutParams lp = window.getAttributes();
        lp.width = WindowManager.LayoutParams.WRAP_CONTENT;
        lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
        window.setGravity(Gravity.CENTER);
        window.setAttributes(lp);
//        window.setWindowAnimations(R.style.PopWindowAnimStyle);
        loadingDialog.show();
 
        return loadingDialog;
    }
 
    public static BaseDialog create(Context context, @LayoutRes int id) {
        BaseDialog dialog = new BaseDialog(context);
        dialog.setContentView(id);
        //设置dialog宽度
        Window dialogWindow = dialog.getWindow();
        if (dialogWindow != null) {
            dialogWindow.setWindowAnimations(R.style.dialog_anim_style);
            dialogWindow.setBackgroundDrawableResource(android.R.color.transparent);
            final WindowManager.LayoutParams p = dialogWindow.getAttributes();
            p.width = (int) (ScreenUtils.getScreenWidth(context));
            p.height = (int) (ScreenUtils.getScreenHeight(context) * 0.8);
        }
 
        return dialog;
    }
 
    public static SweetAlertDialog createSweetLoadingDialog(Context context, String msg) {
        SweetAlertDialog pDialog = new SweetAlertDialog(context, SweetAlertDialog.PROGRESS_TYPE);
        pDialog.getProgressHelper().setBarColor(R.color.lightBlue);
        pDialog.setTitleText(msg);
        pDialog.setCancelable(false);
        pDialog.show();
 
        return pDialog;
    }
 
    /**
     * 关闭dialog
     *
     * @param mDialogUtils
     */
    public static void closeDialog(Dialog mDialogUtils) {
        if (mDialogUtils != null && mDialogUtils.isShowing()) {
            mDialogUtils.dismiss();
        }
    }
 
    public static void closeDialog(SweetAlertDialog dialog) {
        if (dialog != null && dialog.isShowing()) {
            dialog.dismiss();
        }
    }
 
}