package com.itbox.fx.widget; import com.itbox.fx.R; import com.itbox.fx.core.Application; import com.itbox.fx.core.AppException; import android.app.Dialog; import android.content.Context; import android.graphics.drawable.AnimationDrawable; import android.view.LayoutInflater; import android.view.View; import android.widget.ImageView; import android.widget.TextView; /** * 数据加载对话框 * * @author hyh creat_at:2013-7-16-下午1:49:01 */ public class LoadingDialog extends Dialog { private TextView messageTv; private ImageView progressIv; private AnimationDrawable aDraw; public LoadingDialog(Context context) { super(context, R.style.custom_dialog); LayoutInflater inflater = LayoutInflater.from(context); View view = inflater.inflate(R.layout.dialog_loading, null); setContentView(view); progressIv = (ImageView) findViewById(R.id.dialog_iv_progress); aDraw = (AnimationDrawable) progressIv.getDrawable(); messageTv = (TextView) view.findViewById(R.id.dialog_message); } public void setMessage(int msgResID) { messageTv.setText(Application.getRes().getString(msgResID)); } public void setMessage(String message) { messageTv.setText(message); } @Override public void show() { try { progressIv.post(new Runnable() { @Override public void run() { aDraw.start(); } }); super.show(); } catch (Exception e) { AppException.handle(e); } } @Override public void dismiss() { try { progressIv.post(new Runnable() { @Override public void run() { if (null != aDraw && aDraw.isRunning()) { aDraw.stop(); } } }); if (isShowing()) { super.dismiss(); } } catch (Exception e) { AppException.handle(e); } } }