lmw
2023-06-13 4b7d8d9a038f6522df46d0f14fa07eb940a1b34d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package cn.sinata.xldutils.utils;
 
import android.app.DatePickerDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.text.TextUtils;
 
import androidx.appcompat.app.AlertDialog;
 
import java.util.Calendar;
 
import cn.sinata.xldutils.R;
import cn.sinata.xldutils.widget.MyDatePickerDialog;
 
/**
 *
 */
public class DialogUtils {
 
 
    /**
     * 创建简单dialog
     * @param context 上下文
     * @param message 提示文字
     */
    public static void createNoticeDialog(Context context,String message){
        createNoticeDialog(context,"请注意",message);
    }
 
    /**
     * 创建简单dialog
     * @param context 上下文
     * @param title 标题
     * @param message 提示文字
     */
    public static void createNoticeDialog(Context context,String title,String message){
        createNoticeDialog(context,title,message,true,"确定",null,null,null);
    }
 
    /**
     * 创建dialog
     * @param context 上下文
     * @param title 标题
     * @param message 提示信息
     * @param positiveButton 按钮文字,不显示按钮请传null
     */
    public static void createNoticeDialog(Context context,String title,String message,String positiveButton){
        createNoticeDialog(context,title,message,true,positiveButton,null,null,null);
    }
 
    /**
     * 创建dialog
     * @param context 上下文
     * @param title 标
     * @param message 提示信
     * @param positiveButton 按钮文字,不显示按钮请传null
     * @param negativeButton 按钮文字,不显示按钮请传null
     */
    public static void createNoticeDialog(Context context,String title,String message,String positiveButton,String negativeButton){
        createNoticeDialog(context,title,message,true,positiveButton,negativeButton,null,null);
    }
    /**
     * 创建dialog
     * @param context 上下文
     * @param title 标
     * @param message 提示信
     * @param positiveButton 按钮文字,不显示按钮请传null
     * @param positiveListener 按钮点击事件
     */
    public static void createNoticeDialog(Context context,String title,String message,String positiveButton,DialogInterface.OnClickListener positiveListener){
        createNoticeDialog(context,title,message,true,positiveButton,"取消",positiveListener,null);
    }
    /**
     * 创建dialog
     * @param context 上下文
     * @param title 标
     * @param message 提示信
     * @param positiveButton 按钮文字,不显示按钮请传null
     * @param negativeButton 按钮文字,不显示按钮请传null
     * @param positiveListener 确定按钮点击事件
     * @param negativeListener 取消按钮点击事件
     */
    public static void createNoticeDialog(Context context, String title, String message,boolean cancelOutSide, String positiveButton, String negativeButton, DialogInterface.OnClickListener positiveListener,DialogInterface.OnClickListener negativeListener){
        AlertDialog.Builder builder = new AlertDialog.Builder(context);
        builder.setTitle(title);
        builder.setMessage(message);
        builder.setCancelable(cancelOutSide);
        if (!TextUtils.isEmpty(positiveButton)) {
            builder.setPositiveButton(positiveButton,positiveListener);
        }
        if (!TextUtils.isEmpty(negativeButton)) {
            builder.setNegativeButton(negativeButton, negativeListener);
        }
        builder.create().show();
    }
 
    /**
     *
     * @param context
     * @param onDateSetListener
     */
    public static void createTimeDialog(Context context, DatePickerDialog.OnDateSetListener onDateSetListener){
        createTimeDialog(context,-1,-1,onDateSetListener);
    }
 
    /**
     * 展示系统时间选择弹窗
     * @param context 上下文
     * @param onDateSetListener 选择监听
     * @param minDate 最小时间,不限制传-1
     *  @param maxDate 最大时间,不限制传-1
     */
    public static void createTimeDialog(Context context,long minDate,long maxDate, DatePickerDialog.OnDateSetListener onDateSetListener){
        final Calendar c = Calendar.getInstance();
        int mYear = c.get(Calendar.YEAR);
        int mMonth = c.get(Calendar.MONTH);
        int mDay = c.get(Calendar.DAY_OF_MONTH);
        MyDatePickerDialog datePickerDialog = new MyDatePickerDialog(context, R.style.DatePickDialog,onDateSetListener,mYear,mMonth,mDay);
        if (minDate>-1){
            datePickerDialog.setMinDate(minDate);
        }
        if (maxDate>-1){
            datePickerDialog.setMaxDate(maxDate);
        }
        datePickerDialog.setCanceledOnTouchOutside(false);
        datePickerDialog.show();
    }
}