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;
|
}
|
}
|
|
}
|