自定义带图片和文字说明的Dialog

开发中想要实现如下效果,这就得自定义Dialog了,

自定义带图片和文字说明的Dialog_第1张图片

1.首先定义Dialog显示的布局内容 : toast_motify_succeed.xml




    

    

其中背景shape为:



      
      

2.创建自定义Dialog的样式styles

3.定义显示Dialog的常用类DialogUtils

public class DialogUtils {
    private static TextView tipTextView;
    private static Dialog ProgressDialog;
public static void showCompleteDialog(Context context,String msg){
        LayoutInflater inflater = LayoutInflater.from(context);
        View v = inflater.inflate(R.layout.toast_motify_succeed, null);// 得到加载view
        tipTextView = v.findViewById(R.id.tv_toast_content);// 提示文字
        tipTextView.setText(msg);// 设置加载信息

        ProgressDialog = new Dialog(context, R.style.MyDialogStyle);// 创建自定义样式dialog
        ProgressDialog.setCancelable(true); // 是否可以按“返回键”消失
        ProgressDialog.setCanceledOnTouchOutside(true); // 点击加载框以外的区域
        ProgressDialog.setContentView(v, new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.MATCH_PARENT));// 设置布局
        /**
         *将显示Dialog的方法封装在这里面
         */
        Window window = ProgressDialog.getWindow();
        WindowManager.LayoutParams lp = window.getAttributes();
        lp.width = 520;
        lp.height = 280;
        lp.y=-150;
        window.setGravity(Gravity.CENTER_HORIZONTAL);
        window.setAttributes(lp);
        window.setWindowAnimations(R.style.PopWindowAnimStyle);
        ProgressDialog.show();
    }
}

最后在需要显示Dialog的地方直接使用即可,

DialogUtils.showCompleteDialog(this,"密码重置成功!");




你可能感兴趣的:(自定义带图片和文字说明的Dialog)