haijiang
2018-06-25 586f13d3aa93fc3fdfed65021b1a17a17acf3321
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
129
130
131
132
133
134
135
136
137
package com.moral.andbrickslib.utils.dialog;
 
import android.content.Context;
import android.view.View;
 
import com.afollestad.materialdialogs.MaterialDialog;
 
/**
 * 弹出对话框工具类
 * 使用https://github.com/afollestad/material-dialogs
 * Created by haijiang on 2017/4/25.
 */
 
public class MaterialDialogUtils {
    /**
     * 基础dialog
     * @param context
     * @param title
     * @param content
     * @return
     */
     public static MaterialDialog showBasicDialog(Context context,String title,String content){
         MaterialDialog dialog = new MaterialDialog.Builder(context)
                 .title(title)
                 .content(content)
                 .positiveText("确定")
                 .build();
         return dialog;
    }
 
    /**
     * 有回调的dialog
     * @param context
     * @param title
     * @param content
     * @param pcallback
     * @param ncallback
     * @return
     */
    public static MaterialDialog showCallBaclDialog(Context context,String title,String content,MaterialDialog.SingleButtonCallback pcallback,MaterialDialog.SingleButtonCallback ncallback){
        MaterialDialog dialog = new MaterialDialog.Builder(context)
                .title(title)
                .content(content)
                .positiveText("确定")
                .onPositive(pcallback)
                .negativeText("取消")
                .onNegative(ncallback)
                .build();
        return dialog;
    }
 
    /**
     * 自定义按钮有回调的dialog
     * @param context
     * @param title
     * @param content
     * @param pcallback
     * @param ncallback
     * @return
     */
    public static MaterialDialog showCallBaclDialog(Context context,String title,String content,String ptv,String ntv,MaterialDialog.SingleButtonCallback pcallback,MaterialDialog.SingleButtonCallback ncallback){
        MaterialDialog dialog = new MaterialDialog.Builder(context)
                .title(title)
                .content(content)
                .positiveText(ptv)
                .onPositive(pcallback)
                .negativeText(ntv)
                .onNegative(ncallback)
                .build();
        return dialog;
    }
 
    /**
     * 列表dialog
     * @param context
     * @param title
     * @param items
     * @param callback
     * @return
     */
    public static MaterialDialog showListDialog(Context context,String title,String[] items,MaterialDialog.ListCallback callback){
        MaterialDialog dialog = new MaterialDialog.Builder(context)
                .title(title)
                .items(items)
                .itemsCallback(callback)
                .build();
        return dialog;
    }
 
    /**
     * 单选dialog
     * @param context
     * @param title
     * @param items
     * @param callback
     * @return
     */
    public static MaterialDialog showSingleChoiceDialog(Context context,String title,String[] items,MaterialDialog.ListCallbackSingleChoice callback){
        MaterialDialog dialog = new MaterialDialog.Builder(context)
                .title(title)
                .items(items)
                .itemsCallbackSingleChoice(-1,callback)
                .positiveText("确定")
                .build();
        return dialog;
    }
 
    /**
     * 加载dialog
     * @param context
     * @param content
     * @return
     */
    public static MaterialDialog showProgressDialog(Context context,String content){
        MaterialDialog dialog = new MaterialDialog.Builder(context)
                .content(content)
                .progress(true, 0)
                .build();
        dialog.setCanceledOnTouchOutside(false);
        return dialog;
    }
 
    /**
     * 自定义dialog
     * @param context
     * @param title
     * @param customView
     * @return
     */
    public static MaterialDialog showCustomDialog(Context context, String title, View customView){
        MaterialDialog dialog = new MaterialDialog.Builder(context)
                .title(title)
                .customView(customView, false)
                .build();
        return dialog;
    }
}