a
554325746@qq.com
2020-01-15 956063ff14bc75e3a2a97c7bcaa06b9edc84ad24
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
package com.basic.security.widget;
 
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;
 
import com.basic.security.utils.Constants;
import com.basic.security.utils.ExceptionUtil;
import com.basic.security.utils.SystemUI;
 
public class ConfirmDialog extends Dialog {
    private Context context;
    private String title;
    private String leftBtnText;
    private String rightBtnText;
    private ClickListenerInterface clickListenerInterface;
 
    public ConfirmDialog(Context context, String title, String leftBtnText, String rightBtnText) {
        super(context, com.basic.security.utils.RUtils.R_style_ConfirmDialogStyle);
        this.context = context;
        this.title = title;
        this.leftBtnText = leftBtnText;
        this.rightBtnText = rightBtnText;
    }
 
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        init();
    }
 
    public void init() {
        LayoutInflater inflater = LayoutInflater.from(context);
        View view = inflater.inflate(com.basic.security.utils.ResolutionAdaptation.confirm_dialog(), null);
        setContentView(view);
        TextView tvTitle = view.findViewById(com.basic.security.utils.RUtils.R_id_title);
        Button tvConfirm = view.findViewById(com.basic.security.utils.RUtils.R_id_leftBtn);
        TextView tvCancel = view.findViewById(com.basic.security.utils.RUtils.R_id_rightBit);
        tvTitle.setText(title);
        tvConfirm.setText(leftBtnText);
        tvCancel.setText(rightBtnText);
        tvConfirm.setOnClickListener(new clickListener());
        tvCancel.setOnClickListener(new clickListener());
        Window dialogWindow = getWindow();
        WindowManager.LayoutParams lp = dialogWindow.getAttributes();
        DisplayMetrics d = context.getResources().getDisplayMetrics();
        if (Constants.landscape) {
            lp.width = (int) (d.widthPixels * 0.6);
        } else {
            lp.width = (int) (d.widthPixels * 0.8);
        }
        dialogWindow.setAttributes(lp);
        SystemUI.hideSystemUI(this);
        SystemUI.initSystemUIListener(this);
    }
 
    public void show() {
        try {
            this.getWindow().getDecorView().setVisibility(View.INVISIBLE);
            SystemUI.hideSystemUI(this);
            SystemUI.initSystemUIListener(this);
            super.show();
            this.getWindow().getDecorView().setVisibility(View.VISIBLE);
        } catch (Exception e) {
            ExceptionUtil.printException(e);
        }
    }
 
    public void setClickListener(ClickListenerInterface clickListenerInterface) {
        this.clickListenerInterface = clickListenerInterface;
    }
 
    public interface ClickListenerInterface {
        void doConfirm();
 
        void doCancel();
    }
 
    private class clickListener implements View.OnClickListener {
        public void onClick(View v) {
            int id = v.getId();
            switch (id) {
                case com.basic.security.utils.RUtils.R_id_leftBtn:
                    clickListenerInterface.doConfirm();
                    break;
                case com.basic.security.utils.RUtils.R_id_rightBit:
                    clickListenerInterface.doCancel();
                    break;
            }
        }
    }
}