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