在日常的Android开发过程中,我们常常用到对话框,会遇到这种情况:在显示对话框时,点击对话框外部区域,会关闭对话框。有时候需要不关闭对话框,我们可以这样设置:
AlertDialog.Builder builder = new AlertDialog.Builder(context);
//设置点击对话框外部区域不关闭对话框
builder.setCancelable(false);
//设置点击对话框外部区域,关闭对话框,默认
builder.setCancelable(true);
以下是AlertDialog源码中setCancelable()方法的解释:
/**
* Sets whether the dialog is cancelable or not. Default is true.
*
* @return This Builder object to allow for chaining of calls to set methods
*/
public Builder setCancelable(boolean cancelable) {
P.mCancelable = cancelable;
return this;
}
其中P为:
public static class Builder {
private final AlertController.AlertParams P;
... ...
... ...
}