package com.gh.common.util; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.Html; import android.text.Spanned; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.widget.TextView; import com.gh.gamecenter.R; public class DialogUtils { public static Dialog showWaitDialog(Context context, String msg) { Dialog dialog = new Dialog(context); View view = View.inflate(context, R.layout.set_wait_dialog, null); TextView message = (TextView) view.findViewById(R.id.set_wait_message); message.setText(msg); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(view); dialog.setCanceledOnTouchOutside(false); dialog.show(); return dialog; } private static boolean isShowHijackDialog = false; public static void showHijackDialog(final Context context) { if (isShowHijackDialog) { return; } isShowHijackDialog = true; final Dialog dialog = new Dialog(context); View view = View.inflate(context, R.layout.common_alertdialog, null); TextView title = (TextView) view .findViewById(R.id.alertdialog_title); title.setText("警告"); TextView content = (TextView) view .findViewById(R.id.alertdialog_content); content.setText("您当前网络环境异常,下载地址可能被运营商恶意替换(网络劫持),强烈建议更换网络环境后再进行下载"); TextView cancel = (TextView) view .findViewById(R.id.alertdialog_cannel); cancel.setText("取消"); cancel.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); TextView confirem = (TextView) view .findViewById(R.id.alertdialog_confirm); confirem.setText("确定"); confirem.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 跳转wifi管理界面 Intent intent = new Intent("android.settings.WIFI_SETTINGS"); context.startActivity(intent); dialog.dismiss(); } }); dialog.setOnDismissListener(new Dialog.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { isShowHijackDialog = false; } }); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(view); dialog.show(); } private static boolean isShowDeleteDialog = false; public static void showUninstallDialog(final Context context, final ConfiremListener listener) { if (isShowDeleteDialog) { return; } isShowDeleteDialog = true; final Dialog dialog = new Dialog(context); View view = View.inflate(context, R.layout.search_history_delete_dialog, null); TextView title = (TextView) view.findViewById(R.id.delete_dialog_title); title.setText("卸载"); TextView content = (TextView) view .findViewById(R.id.delete_dialog_message); content.setText("您已安装了官方原版,该版本与插件版本冲突,是否卸载官方原版?"); TextView cancel = (TextView) view .findViewById(R.id.delete_dialog_cancel); cancel.setText("忽略"); cancel.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); TextView confirem = (TextView) view .findViewById(R.id.delete_dialog_confirm); confirem.setText("卸载"); confirem.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); if (listener != null) { listener.onConfirem(); } } }); dialog.setOnDismissListener(new Dialog.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { isShowDeleteDialog = false; } }); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(view); dialog.show(); } public static void showWarningDialog(Context context, final ConfiremListener listener) { final Dialog dialog = new Dialog(context); View view = View.inflate(context, R.layout.common_alertdialog, null); TextView title = (TextView) view .findViewById(R.id.alertdialog_title); title.setText("下载提示"); TextView content = (TextView) view.findViewById(R.id.alertdialog_content); content.setText("您当前使用的网络为2G/3G/4G,开始下载将会消耗移动流量,确定下载?"); TextView cancel = (TextView) view .findViewById(R.id.alertdialog_cannel); cancel.setText("取消"); cancel.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); TextView confirem = (TextView) view .findViewById(R.id.alertdialog_confirm); confirem.setText("继续"); confirem.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); if (listener != null) { listener.onConfirem(); } } }); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(view); dialog.show(); } public static void showSuccessDialog(Context context) { final Dialog dialog = new Dialog(context); View view = View.inflate(context, R.layout.gamedetails_attention_dialog, null); TextView title = (TextView) view.findViewById(R.id.dialog_title); title.setText("关注成功"); TextView confirm = (TextView) view.findViewById(R.id.dialog_confirm); confirm.setText("我知道了"); confirm.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); TextView message = (TextView) view.findViewById(R.id.dialog_message); message.setText("游戏的最新动态消息会优先提醒您,包括攻略、资讯、开服信息、开测信息以及最新的插件。"); view.findViewById(R.id.dialog_rl_cancel).setVisibility(View.GONE); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(view); dialog.show(); } public static void showCancelDialog(Context context, final ConfiremListener listener) { final Dialog dialog = new Dialog(context); View view = View.inflate(context, R.layout.gamedetails_attention_dialog, null); TextView title = (TextView) view.findViewById(R.id.dialog_title); title.setText("取消关注"); TextView cancel = (TextView) view.findViewById(R.id.dialog_cancel); cancel.setText("取消"); cancel.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); TextView message = (TextView) view.findViewById(R.id.dialog_message); Spanned content = Html .fromHtml("取消关注游戏后,您将无法及时收到游戏的攻略资讯等最新动态提醒,您确定取消吗?"); message.setText(content); view.findViewById(R.id.dialog_rl_confirm).setVisibility(View.VISIBLE); view.findViewById(R.id.dialog_confirm).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); if (listener != null) { listener.onConfirem(); } } }); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(view); dialog.show(); } public static void showPluginDialog(Context context, final ConfiremListener cListener, final DismissListener dListener) { final Dialog dialog = new Dialog(context); View view = View.inflate(context, R.layout.common_alertdialog, null); TextView title = (TextView) view.findViewById(R.id.alertdialog_title); title.setText("插件化安装"); TextView content = (TextView) view .findViewById(R.id.alertdialog_content); Spanned spanned = Html.fromHtml("您将进行插件化安装以实现插件功能,此过程将" + "卸载" + "当前使用的版本并" + "安装插件版本" + "。"); content.setText(spanned); TextView cancel = (TextView) view .findViewById(R.id.alertdialog_cannel); cancel.setText("取消"); cancel.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); TextView confirm = (TextView) view .findViewById(R.id.alertdialog_confirm); confirm.setText("确定"); confirm.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); if (cListener != null) { cListener.onConfirem(); } } }); if (dListener != null) { dialog.setOnDismissListener(new DialogInterface.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { dListener.onDismiss(); } }); } dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(view); dialog.show(); } public static void showDisclaimerDialog(Context context, String content) { final Dialog disclaimerDialog = new Dialog(context); View view = View.inflate(context, R.layout.setting_disclaimer_dialog, null); TextView title = (TextView) view .findViewById(R.id.disclaimer_dialog_title); title.setText("免责声明"); TextView message = (TextView) view .findViewById(R.id.disclaimer_dialog_message); Spanned spanned = Html.fromHtml(content); message.setText(spanned); view.findViewById(R.id.disclaimer_dialog_confirm).setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { disclaimerDialog.dismiss(); } }); disclaimerDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); disclaimerDialog.setContentView(view); disclaimerDialog.show(); } public interface ConfiremListener{ void onConfirem(); } public interface DismissListener{ void onDismiss(); } }