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
package cn.sinata.xldutils.widget;
 
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;
 
import cn.sinata.xldutils.R;
 
import java.text.NumberFormat;
 
/**
 * 自定义ProgressDialog
 * @author Administrator
 *
 */
public class ProgressDialog extends android.app.Dialog {
    
    private NumberFormat mProgressPercentFormat;
    private ProgressBar mProgress;
    private TextView mMessageView;
    private Context context;
    private CharSequence mMessage="加载中...";
    public ProgressDialog(Context context) {
        super(context);
        this.context=context;
        initFormats();
    }
 
    public ProgressDialog(Context context, int theme) {
        super(context, theme);
        this.context=context;
        initFormats();
    }
 
    private void initFormats() {
 
        mProgressPercentFormat = NumberFormat.getPercentInstance();
        mProgressPercentFormat.setMaximumFractionDigits(0);
    }
    
    public static ProgressDialog show(Context context, CharSequence title,
            CharSequence message) {
        return show(context, title, message, false);
    }
 
    public static ProgressDialog show(Context context, CharSequence title,
            CharSequence message, boolean indeterminate) {
        return show(context, title, message, indeterminate, false, null);
    }
 
    public static ProgressDialog show(Context context, CharSequence title,
            CharSequence message, boolean indeterminate, boolean cancelable) {
        return show(context, title, message, indeterminate, cancelable, null);
    }
 
    public static ProgressDialog show(Context context, CharSequence title,
            CharSequence message, boolean indeterminate,
            boolean cancelable, OnCancelListener cancelListener) {
        ProgressDialog dialog = new ProgressDialog(context);
        dialog.setTitle(title);
        dialog.setMessage(message);
        dialog.setIndeterminate(indeterminate);
        dialog.setCancelable(cancelable);
        dialog.setOnCancelListener(cancelListener);
        dialog.show();
        return dialog;
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
 
        View view = View.inflate(context, R.layout.progress_dialog, null);
        mProgress = (ProgressBar) view.findViewById(R.id.progressBar1);
        mMessageView = (TextView) view.findViewById(R.id.message);
        setContentView(view);
        if (mMessage!=null) {
            setMessage(mMessage);
        }
        super.onCreate(savedInstanceState);
    }
    public void setIndeterminate(boolean indeterminate) {
        if (mProgress != null) {
            mProgress.setIndeterminate(indeterminate);
        }
    }
    
    public void setMessage(CharSequence message) {
        if (mProgress != null) {
            mMessageView.setText(message);
        }  else {
            mMessage = message;
        }
    }
    
}