4393902f91d596f4afe5abb36e8dd5ba2a883d27.svn-base 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. package eVVM.apk.widget;
  2. import android.app.Dialog;
  3. import android.support.v4.app.FragmentActivity;
  4. import android.view.Gravity;
  5. import android.view.View;
  6. import android.widget.TextView;
  7. import com.hjq.base.BaseDialog;
  8. import com.hjq.base.BaseDialogFragment;
  9. import eVVM.apk.R;
  10. /**
  11. * Created by Android Studio.
  12. * User: zbb
  13. * Date: 2019/7/3
  14. * Describe: EvvmMsgDiago
  15. */
  16. public class EvvmMsgDiago {
  17. public static final class Builder
  18. extends BaseDialogFragment.Builder<EvvmMsgDiago.Builder>
  19. implements View.OnClickListener {
  20. private EvvmMsgDiago.OnListener mListener;
  21. private boolean mAutoDismiss = true; // 设置点击按钮后自动消失
  22. private TextView mTitleView;
  23. private TextView mCancelView;
  24. private TextView mConfirmView;
  25. public Builder(FragmentActivity activity) {
  26. super(activity);
  27. setContentView(R.layout.evvmmsgdiago);
  28. setAnimStyle(BaseDialog.AnimStyle.BOTTOM);
  29. setGravity(Gravity.BOTTOM);
  30. mTitleView = findViewById(R.id.tv_dialog_message_stitle);
  31. mCancelView = findViewById(R.id.tv_dialog_message_sfalse);
  32. mConfirmView = findViewById(R.id.tv_dialog_message_strue);
  33. mCancelView.setOnClickListener(this);
  34. mConfirmView.setOnClickListener(this);
  35. }
  36. public EvvmMsgDiago.Builder setTitle(int resId) {
  37. return setTitle(getText(resId));
  38. }
  39. public EvvmMsgDiago.Builder setTitle(CharSequence text) {
  40. mTitleView.setText(text);
  41. return this;
  42. }
  43. public EvvmMsgDiago.Builder setCancel(int resId) {
  44. return setCancel(getText(resId));
  45. }
  46. public EvvmMsgDiago.Builder setCancel(CharSequence text) {
  47. mCancelView.setText(text);
  48. mCancelView.setVisibility((text == null || "".equals(text.toString())) ? View.GONE : View.VISIBLE);
  49. mConfirmView.setBackgroundResource((text == null || "".equals(text.toString())) ?
  50. com.hjq.dialog.R.drawable.dialog_message_one_button : com.hjq.dialog.R.drawable.dialog_message_one_button);
  51. return this;
  52. }
  53. public EvvmMsgDiago.Builder setConfirm(int resId) {
  54. return setConfirm(getText(resId));
  55. }
  56. public EvvmMsgDiago.Builder setConfirm(CharSequence text) {
  57. mConfirmView.setText(text);
  58. mConfirmView.setVisibility((text == null || "".equals(text.toString())) ? View.GONE : View.VISIBLE);
  59. return this;
  60. }
  61. public EvvmMsgDiago.Builder setAutoDismiss(boolean dismiss) {
  62. mAutoDismiss = dismiss;
  63. return this;
  64. }
  65. public EvvmMsgDiago.Builder setListener(EvvmMsgDiago.OnListener l) {
  66. mListener = l;
  67. return this;
  68. }
  69. @Override
  70. public BaseDialog create() {
  71. // 如果标题为空就隐藏
  72. if ("".equals(mTitleView.getText().toString())) {
  73. mTitleView.setVisibility(View.GONE);
  74. }
  75. return super.create();
  76. }
  77. /**
  78. * {@link View.OnClickListener}
  79. */
  80. @Override
  81. public void onClick(View v) {
  82. if (mAutoDismiss) {
  83. dismiss();
  84. }
  85. if (mListener == null) return;
  86. if (v == mConfirmView) {
  87. mListener.onConfirm(getDialog());
  88. } else if (v == mCancelView) {
  89. mListener.onCancel(getDialog());
  90. }
  91. }
  92. }
  93. public interface OnListener {
  94. /**
  95. * 点击确定时回调
  96. */
  97. void onConfirm(Dialog dialog);
  98. /**
  99. * 点击取消时回调
  100. */
  101. void onCancel(Dialog dialog);
  102. }
  103. }