dialog由默认layout改为在xml创建

This commit is contained in:
kehaoyuan
2017-10-08 17:58:53 +08:00
parent 5a264804da
commit 8bc6947c94
7 changed files with 365 additions and 138 deletions

View File

@ -15,6 +15,7 @@ import android.text.Spanned;
import android.text.TextPaint;
import android.view.Display;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
@ -353,7 +354,7 @@ public class DialogUtils {
showWarningDialog(context, "下载提示", "您当前使用的网络为2G/3G/4G开始下载将会消耗移动流量确定下载", listener);
}
public static void showCancelDialog(Context context, final ConfirmListener listener, CancelListener cancelListener) {
public static void showCancelDialog(Context context, final ConfirmListener listener, CancelListener cancelListener) {
Spanned content = Html.fromHtml("取消关注游戏后,您将无法及时收到游戏" +
"<font color=\"#ff0000\">攻略</font>、" +
"<font color=\"#ff0000\">资讯</font>等最新动态提醒。");
@ -406,41 +407,78 @@ public class DialogUtils {
public static void showAlertDialog(Context context, String title, CharSequence message
, String positive, String negative, final ConfirmListener cmListener, final CancelListener clListener) {
AlertDialog alertDialog = new AlertDialog.Builder(context, R.style.GhAlertDialog)
.setTitle(title)
.setMessage(message)
.setPositiveButton(positive, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (cmListener != null) {
cmListener.onConfirm();
}
}
})
.setNegativeButton(negative, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (clListener != null) {
clListener.onCancel();
}
}
})
.create();
alertDialog.show();
// AlertDialog alertDialog = new AlertDialog.Builder(context, R.style.GhAlertDialog)
// .setTitle(title)
// .setMessage(message)
// .setPositiveButton(positive, new DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface dialog, int which) {
// if (cmListener != null) {
// cmListener.onConfirm();
// }
// }
// })
// .setNegativeButton(negative, new DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface dialog, int which) {
// if (clListener != null) {
// clListener.onCancel();
// }
// }
// })
// .create();
// alertDialog.show();
//
// TextView mesage = (TextView) alertDialog.findViewById(android.R.id.message);
// Button positiveBtn = alertDialog.getButton(android.app.AlertDialog.BUTTON_POSITIVE);
// Button negativeBtn = alertDialog.getButton(android.app.AlertDialog.BUTTON_NEGATIVE);
//
// positiveBtn.setTextSize(14);
// positiveBtn.setTextColor(ContextCompat.getColor(context, R.color.theme));
// negativeBtn.setTextSize(14);
// negativeBtn.setTextColor(ContextCompat.getColor(context, R.color.theme));
// if (mesage != null) {
// mesage.setTextSize(14);
// mesage.setTextColor(ContextCompat.getColor(context, R.color.system_bar));
// mesage.setLineSpacing(1.0f, 1.3f);
// }
TextView mesage = (TextView) alertDialog.findViewById(android.R.id.message);
Button positiveBtn = alertDialog.getButton(android.app.AlertDialog.BUTTON_POSITIVE);
Button negativeBtn = alertDialog.getButton(android.app.AlertDialog.BUTTON_NEGATIVE);
final Dialog dialog = new Dialog(context, R.style.GhAlertDialog);
positiveBtn.setTextSize(14);
positiveBtn.setTextColor(ContextCompat.getColor(context, R.color.theme));
negativeBtn.setTextSize(14);
negativeBtn.setTextColor(ContextCompat.getColor(context, R.color.theme));
if (mesage != null) {
mesage.setTextSize(14);
mesage.setTextColor(ContextCompat.getColor(context, R.color.system_bar));
mesage.setLineSpacing(1.0f, 1.3f);
}
View contentView = LayoutInflater.from(context).inflate(R.layout.dialog_alert, null);
TextView contentTv = contentView.findViewById(R.id.dialog_content);
TextView titleTv = contentView.findViewById(R.id.dialog_title);
TextView negativeTv = contentView.findViewById(R.id.dialog_negative);
TextView positiveTv = contentView.findViewById(R.id.dialog_positive);
contentTv.setText(message);
titleTv.setText(title);
negativeTv.setText(negative);
positiveTv.setText(positive);
negativeTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (clListener != null) {
clListener.onCancel();
}
dialog.dismiss();
}
});
positiveTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (cmListener != null) {
cmListener.onConfirm();
}
dialog.dismiss();
}
});
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(contentView);
dialog.show();
}
@ -455,37 +493,74 @@ public class DialogUtils {
* @param cmListener
*/
// TODO: 8/10/17 将下面几个弹窗整理在一起
public static void showAlertDialog(Context context, String title, CharSequence message
, String positive, String negative, final ConfirmListener cmListener) {
AlertDialog alertDialog = new AlertDialog.Builder(context, R.style.GhAlertDialog)
.setTitle(title)
.setMessage(message)
.setPositiveButton(positive, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (cmListener != null) {
cmListener.onConfirm();
}
}
})
.setNegativeButton(negative, null)
.create();
alertDialog.show();
// AlertDialog alertDialog = new AlertDialog.Builder(context, R.style.GhAlertDialog)
// .setTitle(title)
// .setMessage(message)
// .setPositiveButton(positive, new DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface dialog, int which) {
// if (cmListener != null) {
// cmListener.onConfirm();
// }
// }
// })
// .setNegativeButton(negative, null)
// .create();
// alertDialog.show();
//
// TextView mesage = (TextView) alertDialog.findViewById(android.R.id.message);
// Button positiveBtn = alertDialog.getButton(android.app.AlertDialog.BUTTON_POSITIVE);
// Button negativeBtn = alertDialog.getButton(android.app.AlertDialog.BUTTON_NEGATIVE);
//
// positiveBtn.setTextSize(14);
// positiveBtn.setTextColor(ContextCompat.getColor(context, R.color.theme));
// negativeBtn.setTextSize(14);
// negativeBtn.setTextColor(ContextCompat.getColor(context, R.color.hint));
// if (mesage != null) {
// mesage.setTextSize(14);
// mesage.setTextColor(ContextCompat.getColor(context, R.color.system_bar));
// mesage.setLineSpacing(1.0f, 1.3f);
// }
TextView mesage = (TextView) alertDialog.findViewById(android.R.id.message);
Button positiveBtn = alertDialog.getButton(android.app.AlertDialog.BUTTON_POSITIVE);
Button negativeBtn = alertDialog.getButton(android.app.AlertDialog.BUTTON_NEGATIVE);
final Dialog dialog = new Dialog(context, R.style.GhAlertDialog);
View contentView = LayoutInflater.from(context).inflate(R.layout.dialog_alert, null);
TextView contentTv = contentView.findViewById(R.id.dialog_content);
TextView titleTv = contentView.findViewById(R.id.dialog_title);
TextView negativeTv = contentView.findViewById(R.id.dialog_negative);
TextView positiveTv = contentView.findViewById(R.id.dialog_positive);
contentTv.setText(message);
titleTv.setText(title);
negativeTv.setText(negative);
negativeTv.setTextColor(ContextCompat.getColor(context, R.color.hint));
positiveTv.setText(positive);
negativeTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss();
}
});
positiveTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (cmListener != null) {
cmListener.onConfirm();
}
dialog.dismiss();
}
});
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(contentView);
dialog.show();
positiveBtn.setTextSize(14);
positiveBtn.setTextColor(ContextCompat.getColor(context, R.color.theme));
negativeBtn.setTextSize(14);
negativeBtn.setTextColor(ContextCompat.getColor(context, R.color.hint));
if (mesage != null) {
mesage.setTextSize(14);
mesage.setTextColor(ContextCompat.getColor(context, R.color.system_bar));
mesage.setLineSpacing(1.0f, 1.3f);
}
}
@ -495,48 +570,94 @@ public class DialogUtils {
public static void showCancelListenerDialog(Context context, String title, CharSequence message
, String positive, String negative, final ConfirmListener cmListener, final CancelListener clListener) {
AlertDialog alertDialog = new AlertDialog.Builder(context, R.style.GhAlertDialog)
.setTitle(title)
.setMessage(message)
.setPositiveButton(positive, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (cmListener != null) {
cmListener.onConfirm();
}
}
})
.setNegativeButton(negative, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (clListener != null) {
clListener.onCancel();
}
}
})
.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialogInterface) {
clListener.onCancel();
}
})
.create();
// AlertDialog alertDialog = new AlertDialog.Builder(context, R.style.GhAlertDialog)
// .setTitle(title)
// .setMessage(message)
// .setPositiveButton(positive, new DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface dialog, int which) {
// if (cmListener != null) {
// cmListener.onConfirm();
// }
// }
// })
// .setNegativeButton(negative, new DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface dialog, int which) {
// if (clListener != null) {
// clListener.onCancel();
// }
// }
// })
// .setOnCancelListener(new DialogInterface.OnCancelListener() {
// @Override
// public void onCancel(DialogInterface dialogInterface) {
// clListener.onCancel();
// }
// })
// .create();
//
// alertDialog.show();
//
// TextView mesage = (TextView) alertDialog.findViewById(android.R.id.message);
// Button positiveBtn = alertDialog.getButton(android.app.AlertDialog.BUTTON_POSITIVE);
// Button negativeBtn = alertDialog.getButton(android.app.AlertDialog.BUTTON_NEGATIVE);
//
// positiveBtn.setTextSize(14);
// positiveBtn.setTextColor(ContextCompat.getColor(context, R.color.theme));
// negativeBtn.setTextSize(14);
// negativeBtn.setTextColor(ContextCompat.getColor(context, R.color.hint));
// if (mesage != null) {
// mesage.setTextSize(14);
// mesage.setTextColor(ContextCompat.getColor(context, R.color.system_bar));
// mesage.setLineSpacing(1.0f, 1.3f);
// }
alertDialog.show();
final Dialog dialog = new Dialog(context, R.style.GhAlertDialog);
TextView mesage = (TextView) alertDialog.findViewById(android.R.id.message);
Button positiveBtn = alertDialog.getButton(android.app.AlertDialog.BUTTON_POSITIVE);
Button negativeBtn = alertDialog.getButton(android.app.AlertDialog.BUTTON_NEGATIVE);
View contentView = LayoutInflater.from(context).inflate(R.layout.dialog_alert, null);
TextView contentTv = contentView.findViewById(R.id.dialog_content);
TextView titleTv = contentView.findViewById(R.id.dialog_title);
TextView negativeTv = contentView.findViewById(R.id.dialog_negative);
TextView positiveTv = contentView.findViewById(R.id.dialog_positive);
contentTv.setText(message);
titleTv.setText(title);
negativeTv.setText(negative);
negativeTv.setTextColor(ContextCompat.getColor(context, R.color.hint));
positiveTv.setText(positive);
negativeTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (clListener != null) {
clListener.onCancel();
}
dialog.dismiss();
}
});
positiveTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (cmListener != null) {
cmListener.onConfirm();
}
dialog.dismiss();
}
});
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(contentView);
dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialogInterface) {
if (clListener != null)
clListener.onCancel();
}
});
dialog.show();
positiveBtn.setTextSize(14);
positiveBtn.setTextColor(ContextCompat.getColor(context, R.color.theme));
negativeBtn.setTextSize(14);
negativeBtn.setTextColor(ContextCompat.getColor(context, R.color.hint));
if (mesage != null) {
mesage.setTextSize(14);
mesage.setTextColor(ContextCompat.getColor(context, R.color.system_bar));
mesage.setLineSpacing(1.0f, 1.3f);
}
}
@ -547,43 +668,82 @@ public class DialogUtils {
public static void showPermissionDialog(Context context, String title, CharSequence message
, String positive, String negative, final ConfirmListener cmListener, final CancelListener clListener) {
AlertDialog alertDialog = new AlertDialog.Builder(context, R.style.GhAlertDialog)
.setTitle(title)
.setMessage(message)
.setPositiveButton(positive, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (cmListener != null) {
cmListener.onConfirm();
}
}
})
.setNegativeButton(negative, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (clListener != null) {
clListener.onCancel();
}
}
})
.setCancelable(false)
.create();
// AlertDialog alertDialog = new AlertDialog.Builder(context, R.style.GhAlertDialog)
// .setTitle(title)
// .setMessage(message)
// .setPositiveButton(positive, new DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface dialog, int which) {
// if (cmListener != null) {
// cmListener.onConfirm();
// }
// }
// })
// .setNegativeButton(negative, new DialogInterface.OnClickListener() {
// @Override
// public void onClick(DialogInterface dialog, int which) {
// if (clListener != null) {
// clListener.onCancel();
// }
// }
// })
// .setCancelable(false)
// .create();
//
// alertDialog.show();
//
// TextView mesage = (TextView) alertDialog.findViewById(android.R.id.message);
// Button positiveBtn = alertDialog.getButton(android.app.AlertDialog.BUTTON_POSITIVE);
// Button negativeBtn = alertDialog.getButton(android.app.AlertDialog.BUTTON_NEGATIVE);
//
// positiveBtn.setTextSize(13);
// positiveBtn.setTextColor(ContextCompat.getColor(context, R.color.theme));
// negativeBtn.setTextSize(13);
// negativeBtn.setTextColor(ContextCompat.getColor(context, R.color.hint));
// if (mesage != null) {
// mesage.setTextSize(13);
// mesage.setTextColor(ContextCompat.getColor(context, R.color.title));
// mesage.setLineSpacing(1.0f, 1.3f);
// }
alertDialog.show();
final Dialog dialog = new Dialog(context, R.style.GhAlertDialog);
TextView mesage = (TextView) alertDialog.findViewById(android.R.id.message);
Button positiveBtn = alertDialog.getButton(android.app.AlertDialog.BUTTON_POSITIVE);
Button negativeBtn = alertDialog.getButton(android.app.AlertDialog.BUTTON_NEGATIVE);
View contentView = LayoutInflater.from(context).inflate(R.layout.dialog_alert, null);
TextView contentTv = contentView.findViewById(R.id.dialog_content);
TextView titleTv = contentView.findViewById(R.id.dialog_title);
TextView negativeTv = contentView.findViewById(R.id.dialog_negative);
TextView positiveTv = contentView.findViewById(R.id.dialog_positive);
positiveBtn.setTextSize(13);
positiveBtn.setTextColor(ContextCompat.getColor(context, R.color.theme));
negativeBtn.setTextSize(13);
negativeBtn.setTextColor(ContextCompat.getColor(context, R.color.hint));
if (mesage != null) {
mesage.setTextSize(13);
mesage.setTextColor(ContextCompat.getColor(context, R.color.title));
mesage.setLineSpacing(1.0f, 1.3f);
}
contentTv.setText(message);
titleTv.setText(title);
negativeTv.setText(negative);
negativeTv.setTextColor(ContextCompat.getColor(context, R.color.hint));
positiveTv.setText(positive);
negativeTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (clListener != null) {
clListener.onCancel();
}
dialog.dismiss();
}
});
positiveTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (cmListener != null) {
cmListener.onConfirm();
}
dialog.dismiss();
}
});
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(contentView);
dialog.setCancelable(false);
dialog.show();
}