package eVVM.apk.widget; import android.app.Dialog; import android.support.v4.app.FragmentActivity; import android.view.Gravity; import android.view.View; import android.widget.TextView; import com.hjq.base.BaseDialog; import com.hjq.base.BaseDialogFragment; import eVVM.apk.R; /** * Created by Android Studio. * User: zbb * Date: 2019/7/3 * Describe: EvvmMsgDiago */ public class EvvmMsgDiago { public static final class Builder extends BaseDialogFragment.Builder implements View.OnClickListener { private EvvmMsgDiago.OnListener mListener; private boolean mAutoDismiss = true; // 设置点击按钮后自动消失 private TextView mTitleView; private TextView mCancelView; private TextView mConfirmView; public Builder(FragmentActivity activity) { super(activity); setContentView(R.layout.evvmmsgdiago); setAnimStyle(BaseDialog.AnimStyle.BOTTOM); setGravity(Gravity.BOTTOM); mTitleView = findViewById(R.id.tv_dialog_message_stitle); mCancelView = findViewById(R.id.tv_dialog_message_sfalse); mConfirmView = findViewById(R.id.tv_dialog_message_strue); mCancelView.setOnClickListener(this); mConfirmView.setOnClickListener(this); } public EvvmMsgDiago.Builder setTitle(int resId) { return setTitle(getText(resId)); } public EvvmMsgDiago.Builder setTitle(CharSequence text) { mTitleView.setText(text); return this; } public EvvmMsgDiago.Builder setCancel(int resId) { return setCancel(getText(resId)); } public EvvmMsgDiago.Builder setCancel(CharSequence text) { mCancelView.setText(text); mCancelView.setVisibility((text == null || "".equals(text.toString())) ? View.GONE : View.VISIBLE); mConfirmView.setBackgroundResource((text == null || "".equals(text.toString())) ? com.hjq.dialog.R.drawable.dialog_message_one_button : com.hjq.dialog.R.drawable.dialog_message_one_button); return this; } public EvvmMsgDiago.Builder setConfirm(int resId) { return setConfirm(getText(resId)); } public EvvmMsgDiago.Builder setConfirm(CharSequence text) { mConfirmView.setText(text); mConfirmView.setVisibility((text == null || "".equals(text.toString())) ? View.GONE : View.VISIBLE); return this; } public EvvmMsgDiago.Builder setAutoDismiss(boolean dismiss) { mAutoDismiss = dismiss; return this; } public EvvmMsgDiago.Builder setListener(EvvmMsgDiago.OnListener l) { mListener = l; return this; } @Override public BaseDialog create() { // 如果标题为空就隐藏 if ("".equals(mTitleView.getText().toString())) { mTitleView.setVisibility(View.GONE); } return super.create(); } /** * {@link View.OnClickListener} */ @Override public void onClick(View v) { if (mAutoDismiss) { dismiss(); } if (mListener == null) return; if (v == mConfirmView) { mListener.onConfirm(getDialog()); } else if (v == mCancelView) { mListener.onCancel(getDialog()); } } } public interface OnListener { /** * 点击确定时回调 */ void onConfirm(Dialog dialog); /** * 点击取消时回调 */ void onCancel(Dialog dialog); } }