CustomTitleAlertDialogBuilder.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package epson.print.widgets;
  2. import android.app.AlertDialog;
  3. import android.content.Context;
  4. import android.graphics.drawable.Drawable;
  5. import android.view.LayoutInflater;
  6. import android.view.ViewGroup;
  7. import android.widget.ImageView;
  8. import android.widget.TextView;
  9. import epson.print.R;
  10. public class CustomTitleAlertDialogBuilder extends AlertDialog.Builder {
  11. private static final int TITLES_COLOR = 2131034138;
  12. private static final int TITLES_LINES = 5;
  13. ViewGroup titleView = null;
  14. public CustomTitleAlertDialogBuilder(Context context) {
  15. super(context);
  16. setUpCustomTitle();
  17. }
  18. public CustomTitleAlertDialogBuilder(Context context, int i) {
  19. super(context, i);
  20. setUpCustomTitle();
  21. }
  22. @NonNull
  23. public AlertDialog.Builder setTitle(CharSequence charSequence) {
  24. AlertDialog.Builder title = super.setTitle(charSequence);
  25. setCustomTitle(charSequence);
  26. return title;
  27. }
  28. @NonNull
  29. public AlertDialog.Builder setTitle(int i) {
  30. AlertDialog.Builder title = super.setTitle(i);
  31. setCustomTitle(getContext().getText(i));
  32. return title;
  33. }
  34. @NonNull
  35. public AlertDialog.Builder setIcon(Drawable drawable) {
  36. AlertDialog.Builder icon = super.setIcon(drawable);
  37. setCustomTitleIcon(drawable);
  38. return icon;
  39. }
  40. @NonNull
  41. public AlertDialog.Builder setIcon(int i) {
  42. AlertDialog.Builder icon = super.setIcon(i);
  43. setCustomTitleIcon(getContext().getResources().getDrawable(i));
  44. return icon;
  45. }
  46. private void setUpCustomTitle() {
  47. this.titleView = (ViewGroup) ((LayoutInflater) getContext().getSystemService(Service.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.alert_dialog_title, (ViewGroup) null);
  48. ViewGroup viewGroup = this.titleView;
  49. if (viewGroup != null) {
  50. setCustomTitle(viewGroup);
  51. TextView textView = (TextView) this.titleView.findViewById(R.id.alertTitle);
  52. if (textView != null) {
  53. textView.setMaxLines(5);
  54. textView.setTextColor(getContext().getResources().getColor(R.color.all_black));
  55. }
  56. }
  57. }
  58. public void setCustomTitle(CharSequence charSequence) {
  59. TextView textView;
  60. ViewGroup viewGroup = this.titleView;
  61. if (viewGroup != null && (textView = (TextView) viewGroup.findViewById(R.id.alertTitle)) != null) {
  62. textView.setText(charSequence);
  63. }
  64. }
  65. public void setCustomTitleIcon(Drawable drawable) {
  66. ImageView imageView;
  67. ViewGroup viewGroup = this.titleView;
  68. if (viewGroup != null && (imageView = (ImageView) viewGroup.findViewById(R.id.icon)) != null) {
  69. imageView.setImageDrawable(drawable);
  70. }
  71. }
  72. }