Skip to content

Commit afb4096

Browse files
committed
对话框模式也可以通过setOutsideCancelable方法设置点击外部是否关闭
1 parent ed815a1 commit afb4096

File tree

4 files changed

+20
-3
lines changed

4 files changed

+20
-3
lines changed

app/src/main/java/com/bigkoo/pickerviewdemo/MainActivity.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public void onTimeSelect(Date date, View v) {//选中事件回调
9494
.setContentSize(18)
9595
.setTitleSize(20)
9696
.setTitleText("Title")
97-
.setOutSideCancelable(false)// default is true
97+
9898
.isCyclic(true)// default is false
9999
.setTitleColor(Color.BLACK)
100100
.setDate(new Date())// default system*/
@@ -106,6 +106,8 @@ public void onTimeSelect(Date date, View v) {//选中事件回调
106106
.setSubmitColor(Color.WHITE)
107107
.setCancelColor(Color.WHITE)*/
108108
/* .gravity(Gravity.RIGHT)// default is center*/
109+
.isDialog(false)
110+
.setOutSideCancelable(true)// default is true
109111
.setDividerColor(Color.BLACK)
110112
.setContentSize(20)
111113
.setLabel("", "", "", "", "", "") //设置空字符串以隐藏单位提示 hide label
@@ -309,6 +311,8 @@ public void onOptionsSelect(int options1, int options2, int options3, View v) {
309311
.setTextColorCenter(Color.BLACK) //设置选中项文字颜色
310312
.setContentTextSize(20)//设置滚轮文字大小
311313
.setSelectOptions(0, 1, 2) //设置默认选中项
314+
.isDialog(true)
315+
.setOutSideCancelable(false)// default is true
312316
.build();
313317

314318
//pvOptions.setSelectOptions();

pickerview/src/main/java/com/bigkoo/pickerview/OptionsPickerView.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,7 @@ public OptionsPickerView build() {
336336

337337

338338
private void initView(Context context) {
339+
setDialogOutSideCancelable(cancelable);
339340
initViews();
340341
init();
341342
initEvents();

pickerview/src/main/java/com/bigkoo/pickerview/TimePickerView.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,7 @@ public TimePickerView build() {
345345

346346

347347
private void initView(Context context) {
348+
setDialogOutSideCancelable(cancelable);
348349
initViews();
349350
init();
350351
initEvents();
@@ -416,6 +417,8 @@ private void initView(Context context) {
416417
wheelTime.setTextColorCenter(textColorCenter);
417418
}
418419

420+
421+
419422
/**
420423
* 设置默认时间
421424
*/

pickerview/src/main/java/com/bigkoo/pickerview/view/BasePickerView.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public class BasePickerView {
4848
private int gravity = Gravity.BOTTOM;
4949

5050
private Dialog mDialog;
51-
51+
private boolean cancelable;//是否能取消
5252

5353
public BasePickerView(Context context) {
5454
this.context = context;
@@ -256,6 +256,15 @@ protected BasePickerView setOutSideCancelable(boolean isCancelable) {
256256
return this;
257257
}
258258

259+
/**
260+
* 设置对话框模式是否可以点击外部取消
261+
* @param cancelable
262+
*/
263+
public void setDialogOutSideCancelable(boolean cancelable) {
264+
this.cancelable = cancelable;
265+
}
266+
267+
259268
/**
260269
* Called when the user touch on black overlay in order to dismiss the dialog
261270
*/
@@ -276,7 +285,7 @@ public View findViewById(int id) {
276285
public void createDialog() {
277286
if (dialogView != null) {
278287
mDialog = new Dialog(context, R.style.custom_dialog2);
279-
mDialog.setCancelable(true);//不能点外面取消,也不 能点back取消
288+
mDialog.setCancelable(cancelable);//不能点外面取消,也不 能点back取消
280289
mDialog.setContentView(dialogView);
281290
}
282291

0 commit comments

Comments
 (0)