android AlertDialog 工具类

用v7 包里的AlertDialog 做了一个简单的工具类封装

源码地址https://github.com/1104436107/AlertDialog_master_milaoshu/tree/master

public void onClick(View v) {
        switch (v.getId()) {
            case R.id.check_update:
                Dialog.showDefaultDialog(this, "应用更新", "你好检测到新版本请更新", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        switch (which) {
                            case DialogInterface.BUTTON_POSITIVE:
                                break;
                            case DialogInterface.BUTTON_NEUTRAL:
                                break;
                            case DialogInterface.BUTTON_NEGATIVE:
                                break;
                        }
                        Toast.makeText(MainActivity.this, which + "", Toast.LENGTH_SHORT).show();
                    }
                });
                break;
            case R.id.custom_dialog:
                Dialog.showCustomDialog(this, "温馨提示", "您的EQ不足,请及时充值", new Dialog.OnClickDialogListener() {
                    @Override
                    public void OnOnClickDialogListener(int id, AlertDialog dialog) {
                        switch (id) {
                            case R.id.tv_submit:
                                Toast.makeText(MainActivity.this,"确定", Toast.LENGTH_LONG).show();
                                dialog.dismiss();
                                break;
                            case R.id.tv_cancel:
                                Toast.makeText(MainActivity.this,"取消", Toast.LENGTH_LONG).show();
                                dialog.dismiss();
                                break;
                        }
                    }
                });
                break;
        }
}

1
这里写图片描述
/*
* @param mContext Activity 上下文
* @param mTitle 标题
* @param mContent 显示内容
* @param diologlistener 接口回调
*/

   public static DialogInterface.OnClickListener mDiologListener;
    public static void showDefaultDialog(Context mContext, String mTitle, String mContent, DialogInterface.OnClickListener diologlistener) {
        mDiologListener = diologlistener;
        final AlertDialog dialog = new AlertDialog.Builder(mContext).create();
        dialog.setTitle(mTitle);
        dialog.setCancelable(false);
        dialog.setCanceledOnTouchOutside(false);
        float density = mContext.getResources().getDisplayMetrics().density;
        TextView tv = new TextView(mContext);
        tv.setMovementMethod(new ScrollingMovementMethod());
        tv.setVerticalScrollBarEnabled(true);
        tv.setTextSize(14);
        tv.setMaxHeight((int) (250 * density));
        dialog.setView(tv, (int) (25 * density), (int) (15 * density), (int) (25 * density), 0);
        tv.setText(mContent);
        dialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定", mDiologListener);
        dialog.setButton(DialogInterface.BUTTON_POSITIVE, "立即更新", mDiologListener);
        dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "以后再说", mDiologListener);
        dialog.setButton(DialogInterface.BUTTON_NEUTRAL, "忽略该版", mDiologListener);
        dialog.show();
    }

这里写图片描述
2
/*
* @param mContext Activity 上下文
* @param mTitle 标题
* @param mContent 显示内容
* @param diologlistener 接口回调
*/

public static OnClickDialogListener mOnClickListener;
    public static interface OnClickDialogListener{
        void OnOnClickDialogListener(int tv_title, AlertDialog dialog);
    }
    public static void showCustomDialog(Context mContext, String mTitle, String mContent, final OnClickDialogListener OnClickListener) {
        AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
        final AlertDialog dialog = builder.create();
        View view = LayoutInflater.from(mContext).inflate(R.layout.dialog_custom,
                null);
        TextView tv_title = (TextView) view.findViewById(R.id.tv_title);
        TextView tv_content = (TextView) view.findViewById(R.id.tv_content);
        TextView tv_submit = (TextView) view.findViewById(R.id.tv_submit);
        TextView tv_cancel = (TextView) view.findViewById(R.id.tv_cancel);
        tv_title.setText(mTitle);
        tv_content.setText(mContent);
        tv_submit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                OnClickListener.OnOnClickDialogListener(R.id.tv_submit,dialog);
            }
        });
        tv_cancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                OnClickListener.OnOnClickDialogListener(R.id.tv_cancel,dialog);
            }
        });
        dialog.setView(view, 0, 0, 0, 0);
        dialog.show();
    }

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值