303 lines
9.6 KiB
Java
303 lines
9.6 KiB
Java
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("取消关注游戏后,您将无法及时收到游戏的<font color='#ff0000'>攻略</font>、<font color='#ff0000'>资讯</font>等最新动态提醒,您确定取消吗?");
|
||
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("您将进行插件化安装以实现插件功能,此过程将"
|
||
+ "<font color=\"#ff0000\">卸载</font>" + "当前使用的版本并"
|
||
+ "<font color=\"#ff0000\">安装插件版本</font>" + "。");
|
||
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();
|
||
}
|
||
|
||
}
|