package com.sandro.util;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import com.sandro.ImageTrans.R;
/**
* Dialog工具类
*
* @author gordon
*
*/
public class DialogUtil {
/**
* 弹出默认弹出框,leftTitle/rightTitle为空即不绑定button文字及事件并隐藏按钮
*
* @param context
* 上下文
* @param windowsTitle
* 窗体标题文字
* @param message
* 弹出框正文内容
* @param leftTitle
* 左button文字
* @param leftOnClickListener
* 左button事件响应
* @param rightTitle
* 右button文字
* @param rightOnClickListener
* 右button事件响应
* @param isCancelable
* 是否可以使用返回键取消Dialog
* @return Dialog实例
*/
public static Dialog showDefaultDialog(Context context,
String windowsTitle, String message, String leftTitle,
OnClickListener leftOnClickListener, String rightTitle,
OnClickListener rightOnClickListener, boolean isCancelable) {
final Dialog dialog = new CustomDialog(context, R.layout.lay_main_dialog,R.style.fancy_dialog_style);
dialog.setCancelable(isCancelable);
TextView messageTv = (TextView) dialog.findViewById(R.id.tv_message);
messageTv.setText(message);
TextView titleTv = (TextView) dialog.findViewById(R.id.tv_title);
if(windowsTitle!=null){
titleTv.setText(windowsTitle);
}else{
titleTv.setVisibility(View.GONE);
}
Button btnLeft = (Button) dialog
.findViewById(R.id.main_dialog_left_btn);
Button btnRight = (Button) dialog
.findViewById(R.id.main_dialog_right_btn);
bindDialogBtn(btnLeft, leftTitle, leftOnClickListener);
bindDialogBtn(btnRight, rightTitle, rightOnClickListener);
dialog.show();
return dialog;
}
/**
* 左键是ok,右键是cannel 最简单的窗体
*
* @param context
* @param windowsTitle
* 窗体标题
* @param message
* 窗口消息
* @param leftOnClickListener
* 左键监听
* @return
*/
public static Dialog showEasyDialog(Context context, String windowsTitle,
String message, OnClickListener leftOnClickListener) {
final Dialog dialog = new CustomDialog(context, R.layout.lay_main_dialog,R.style.fancy_dialog_style);
TextView titleTv = (TextView) dialog.findViewById(R.id.tv_title);
if(windowsTitle!=null){
titleTv.setText(windowsTitle);
}else{
titleTv.setVisibility(View.GONE);
}
TextView messageTv = (TextView) dialog.findViewById(R.id.tv_message);
messageTv.setText(message);
dialog.setCancelable(true);
Button btnLeft = (Button) dialog
.findViewById(R.id.main_dialog_left_btn);
Button btnRight = (Button) dialog
.findViewById(R.id.main_dialog_right_btn);
bindDialogBtn(btnLeft, context.getString(android.R.string.ok),
leftOnClickListener);
bindDialogBtn(btnRight, context.getString(android.R.string.cancel),
new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
return dialog;
}
private static void bindDialogBtn(Button btn, String title,
OnClickListener onClickListener) {
if (title != null && !"".equals(title)) {
btn.setText(title);
btn.setOnClickListener(onClickListener);
} else {
btn.setVisibility(View.GONE);
}
}
/**
* 系统默认的loading条
* @param context
* @param desc
* @author sandroCheng
* @return
*/
public static ProgressDialog createSimpleLoading(Context context,String desc){
ProgressDialog mSpinner = new ProgressDialog(context);
mSpinner.requestWindowFeature(Window.FEATURE_NO_TITLE);
mSpinner.setMessage(desc);
mSpinner.setCancelable(false);
mSpinner.setIndeterminate(false);
mSpinner.setProgressStyle(ProgressDialog.STYLE_SPINNER);
return mSpinner;
}
/**
* 全屏loading页面
* @param context
* @param desc
* @author sandroCheng
* @return
*/
public static ProgressDialog createFullScreenLoading(Context context,String desc){
CutstomProgressDialog mSpinner = new CutstomProgressDialog(context);
mSpinner.setMessage(desc);
mSpinner.setCancelable(false);
return mSpinner;
}
}