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