转载:zhengyongbo
记录一个在项目中比较实用的进度条
1.初始化进度条
protected Dialog loadingDialog = null;
/*
* 初始化
* */
public static Dialog createProgressDialog(Context context, String hint) {
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.dialog_progress, null);
TextView msgView = (TextView) view.findViewById(R.id.tv_msg);
if (!TextUtils.isEmpty(hint)) {
msgView.setVisibility(View.VISIBLE);
msgView.setText(hint);
}
// else msgView.setVisibility(View.GONE);
Dialog loading = new Dialog(context, R.style.CustomProgressDialog);
WindowManager.LayoutParams lp = loading.getWindow().getAttributes();
lp.gravity = Gravity.CENTER;
loading.setContentView(view, lp);
return loading;
}
2.显示进度条
/*
* 显示进度条
* strMsg 显示文本内容
* */
public void showProgress(String strMsg) {
if (null == loadingDialog) {
loadingDialog = createProgressDialog(this, strMsg + "");
}
loadingDialog.show();
/*下面两行代码点击进度条可以实现隐藏隐藏*/
loadingDialog.setCancelable(true);
loadingDialog.setCanceledOnTouchOutside(true);
// loadingDialog.setCancelable(false);//进度条不消失
}
//--------------------------------------------------------
/*
* 显示进度条
* */
public void showProgress() {
if (null == loadingDialog) {
loadingDialog = createProgressDialog(this, getString(R.string.loading_waiting));
}
loadingDialog.show();
/*下面两行代码点击可以隐藏进度条*/
loadingDialog.setCancelable(true);
loadingDialog.setCanceledOnTouchOutside(true);
// loadingDialog.setCancelable(false);//进度条不消失
}
3.隐藏进度条
/*
* 隐藏显示进度条
* */
public void dismissProgress() {
if ((loadingDialog != null) && (loadingDialog.isShowing()))
loadingDialog.dismiss();
loadingDialog = null;
}
4.销毁进度条
@Override
protected void onDestroy() {
super.onDestroy();
if(loadingDialog!=null){
loadingDialog.dismiss();
}
}
下面奉上csdn下载地址:http://download.youkuaiyun.com/detail/android_zhengyongbo/9842396