移动安卓端AlertDialog的工具类
移动安卓端Dialog的工具类前言:
·
移动安卓端AlertDialog的工具类
前言:在我们学习安卓的入门阶段时,我们就已经会接触到安卓上的对话提示框AlertDialog,安卓原生的对话框是一个非常简单直白的一个对话框。那么当我们在实际的开发过程中,必定需要不同种类的对话提示框时,我们又该如何操作呢。此外AlertDialog的很多代码我们可以通过提前封装的方式,减少在页面中的代码量,使页面更加整洁,所以我们需要一个封装好的AlertDialog工具类来处理这些繁琐的事情。
1. 无标题基础对话框
这种是我们最基本见识到的对话提示框,主要用于给到用户一个不可忽略的提示作用,上代码:
//无标题基础对话框
public static AlertDialog showBasicNoTitle(Context context, String message, final MyDialogOnClickListener myDialogOnClickListener) {
AlertDialog alertDialog = new AlertDialog.Builder(context)
.setMessage(message)
.setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (myDialogOnClickListener != null)
myDialogOnClickListener.onConfirm();
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (myDialogOnClickListener != null)
myDialogOnClickListener.onCancel();
}
})
.create();
alertDialog.show();
return alertDialog;
}
/**
* Dialog按钮点击事件接口.
*/
public interface MyDialogOnClickListener {
void onCancel();
void onConfirm();
}
//**********************************//
//需要调用时
DialogUtil.showBasicNoTitle(this, "这里可以输入想要的内容", new DialogUtil.MyDialogOnClickListener() {
@Override
public void onCancel() {
//点击取消后执行的逻辑
}
@Override
public void onConfirm() {
//点击确定后执行的逻辑
}
});
效果图:
2. 有标题的基本对话框
这类对话框会增加一行标题行,能给到用户更好的交互效果
//有标题的基本对话框
public static AlertDialog showBasic(Context context, String title, String message, final MyDialogOnClickListener myDialogOnClickListener) {
AlertDialog alertDialog =new AlertDialog.Builder(context)
.setTitle(title)
.setMessage(message)
.setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (myDialogOnClickListener != null)
myDialogOnClickListener.onConfirm();
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (myDialogOnClickListener != null)
myDialogOnClickListener.onCancel();
}
})
.create();
alertDialog.show();
return alertDialog;
}
/**
* Dialog按钮点击事件接口.
*/
public interface MyDialogOnClickListener {
void onCancel();
void onConfirm();
}
//**********************************//
//需要调用时
DialogUtil.showBasic(this,"随便一个标题", "这里可以输入想要的内容", new DialogUtil.MyDialogOnClickListener() {
@Override
public void onCancel() {
//点击取消后执行的逻辑
}
@Override
public void onConfirm() {
//点击确定后执行的逻辑
}
});
效果图:
3. 自定义按钮名称的基本对话框
这类对话框可以自定义下方“确定”和“取消”按钮的名称,已方便适用于不同的业务场景
//自定义按钮名称的基本对话框
public static AlertDialog showBasic(Context context, String title, String message,String confirm,String cancel,final MyDialogOnClickListener myDialogOnClickListener) {
AlertDialog alertDialog =new AlertDialog.Builder(context)
.setTitle(title)
.setMessage(message)
.setPositiveButton(confirm, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (myDialogOnClickListener != null)
myDialogOnClickListener.onConfirm();
}
})
.setNegativeButton(cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (myDialogOnClickListener != null)
myDialogOnClickListener.onCancel();
}
})
.create();
alertDialog.show();
return alertDialog;
}
/**
* Dialog按钮点击事件接口.
*/
public interface MyDialogOnClickListener {
void onCancel();
void onConfirm();
}
//**********************************//
//需要调用时
DialogUtil.showBasic(this,"随便一个标题", "这里可以输入想要的内容","用户同意的按钮",
"用户不同意的按钮",new DialogUtil.MyDialogOnClickListener() {
@Override
public void onCancel() {
//点击取消后执行的逻辑
}
@Override
public void onConfirm() {
//点击确定后执行的逻辑
}
});
效果图:
目前先更新这几种对话框,后面会放上一些操作性的对话框,比如带输入框的对话框,单选对话框,多选对话框,带图标,进度条对话框等等,尽情期待!
更多推荐
已为社区贡献13条内容
所有评论(0)