18034727885
2026-06-26 253f680fb9666751e0f9a8e5e8f2f9e3eb1894e3
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
138
139
140
141
142
package com.example.smart.widget.dialog;
 
import android.app.Dialog;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.TextView;
 
import androidx.annotation.Nullable;
import androidx.fragment.app.DialogFragment;
 
import com.example.smart.R;
 
/**
 * @description:
 */
public class CommonDialog extends DialogFragment {
 
    private int layout = -1;
    private TextView confirmTv, cancelTv, contentTv;
    private String confirm, cancel, content;
 
    public CommonDialog(int layout) {
        setStyle(STYLE_NO_FRAME, R.style.common_dialog_style);
        this.layout = layout;
    }
 
    public CommonDialog() {
        setStyle(STYLE_NO_FRAME, R.style.common_dialog_style);
        layout = -1;
    }
 
    public CommonDialog(int layout, int style) {
        setStyle(STYLE_NO_FRAME, style);
        this.layout = layout;
    }
 
    @Override
    public void onStart() {
        super.onStart();
        Dialog dialog = getDialog();
        if (dialog != null) {
            try {
                Display display = getActivity().getWindowManager().getDefaultDisplay();
                WindowManager.LayoutParams layoutParams = dialog.getWindow().getAttributes();
                layoutParams.width = (int) (display.getWidth() * 0.8);
                dialog.getWindow().setAttributes(layoutParams);
            } catch (Exception e) {
 
            }
        }
 
    }
 
 
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
        View mView = inflater.inflate(layout == -1 ? R.layout.dialog_common : layout, container, false);
        confirmTv = mView.findViewById(R.id.confirm_tv);
        cancelTv = mView.findViewById(R.id.cancel_tv);
        contentTv = mView.findViewById(R.id.content_tv);
 
        if (this.cancel != null) {
            cancelTv.setText(cancel);
        }
        if (this.confirm != null) {
            confirmTv.setText(confirm);
        }
        if (this.content != null) {
            contentTv.setText(content);
        }
        if (confirmTv != null) {
            confirmTv.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    dismiss();
                    if (mOnCertainButtonClickListener != null) {
                        mOnCertainButtonClickListener.onOk();
                    }
                }
            });
        }
        if (cancelTv != null) {
            cancelTv.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    dismiss();
                    if (mOnCancelClickListener != null) {
                        mOnCancelClickListener.onCancel();
                    }
                }
            });
        }
        return mView;
    }
 
    public interface OnCertainClickListener {
        void onOk();
    }
 
    public interface onCancelClickListener {
        void onCancel();
    }
 
    private OnCertainClickListener mOnCertainButtonClickListener;
    private onCancelClickListener mOnCancelClickListener;
 
    public CommonDialog setCancelListener(onCancelClickListener listener) {
        mOnCancelClickListener = listener;
        return this;
    }
 
    public CommonDialog setCertainListener(OnCertainClickListener listener) {
        mOnCertainButtonClickListener = listener;
        return this;
    }
 
    public CommonDialog setConfirm(String confirm) {
        this.confirm = confirm;
        return this;
    }
 
    public CommonDialog setCancel(String cancel) {
        this.cancel = cancel;
        return this;
    }
 
    public CommonDialog setContent(String content) {
        this.content = content;
        return this;
    }
 
    public CommonDialog setDialogCancelable(boolean isCancel) {
        this.setCancelable(isCancel);
        return this;
    }
}