| | |
| | | import androidx.annotation.NonNull; |
| | | |
| | | import com.hdl.photovoltaic.R; |
| | | import com.hdl.photovoltaic.base.BaseDialog; |
| | | import com.hdl.photovoltaic.databinding.DialogConfirmCancelBinding; |
| | | |
| | | /** |
| | | * 延时确认框 |
| | | */ |
| | | public class DelayedConfirmationCancelDialog extends Dialog { |
| | | public class DelayedConfirmationCancelDialog extends BaseDialog { |
| | | public DelayedConfirmationCancelDialog(@NonNull Context context) { |
| | | super(context, R.style.Custom_Dialog); |
| | | this.mContext = context; |
| | |
| | | |
| | | CountDownTimer timer; |
| | | private final Context mContext; |
| | | private ConfirmationCancelDialog.onNoOnclickListener noOnclickListener;//取消按钮被点击了的监听器 |
| | | private ConfirmationCancelDialog.onYesOnclickListener yesOnclickListener;//确定按钮被点击了的监听器 |
| | | private onNoOnclickListener noOnclickListener;//取消按钮被点击了的监听器 |
| | | private onYesOnclickListener yesOnclickListener;//确定按钮被点击了的监听器 |
| | | private DialogConfirmCancelBinding viewBinding; |
| | | private String titleStr, contentStr, yesStr, noStr; |
| | | |
| | |
| | | * |
| | | * @param title 内容 |
| | | */ |
| | | public void setTitle(String title) { |
| | | public void setTitleContent(String title) { |
| | | if (TextUtils.isEmpty(title)) { |
| | | return; |
| | | } |
| | |
| | | viewBinding.loadingConfirmationTitleTv.setText(titleStr); |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 隐藏自定义"标题"组件 |
| | | * |
| | | * @param isHideTitle true 隐藏 |
| | | */ |
| | | public void isHideTitle(boolean isHideTitle) { |
| | | if (isHideTitle) { |
| | | if (viewBinding != null) { |
| | | viewBinding.loadingConfirmationTitleTv.setVisibility(View.GONE); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | timer = new CountDownTimer(seconds * 1000, 1000) { // 设置倒计时为3秒(单位:毫秒) |
| | | public void onTick(long millisUntilFinished) { |
| | | int secondsRemaining = (int) (millisUntilFinished / 1000); |
| | | if (secondsRemaining == 0) { |
| | | viewBinding.dialogConfirmTv.setText(mContext.getString(R.string.loading_affirm)); |
| | | viewBinding.dialogConfirmLy.setEnabled(true); |
| | | viewBinding.dialogConfirmTv.setEnabled(true); |
| | | if (timer != null) { |
| | | timer.cancel(); |
| | | timer = null; |
| | | } |
| | | return; |
| | | } |
| | | String timeLeft = "(" + secondsRemaining + ")"; |
| | | String text = mContext.getString(R.string.loading_affirm) + timeLeft; |
| | | viewBinding.dialogConfirmTv.setText(text); |
| | | viewBinding.dialogConfirmTv.setTextColor(Color.parseColor("#C2EDDE")); |
| | | viewBinding.dialogConfirmLy.setEnabled(false); |
| | | viewBinding.dialogConfirmTv.setEnabled(false); |
| | | } |
| | | |
| | | public void onFinish() { |
| | | viewBinding.dialogConfirmTv.setText(mContext.getString(R.string.loading_affirm)); |
| | | viewBinding.dialogConfirmTv.setTextColor(Color.parseColor("#38C494")); |
| | | viewBinding.dialogConfirmLy.setEnabled(true); |
| | | viewBinding.dialogConfirmTv.setEnabled(true); |
| | | if (timer != null) { |
| | | timer.cancel(); |
| | | timer = null; |
| | | } |
| | | // viewBinding.dialogConfirmTv.setText(mContext.getString(R.string.loading_affirm)); |
| | | // viewBinding.dialogConfirmTv.setTextColor(Color.parseColor("#38C494")); |
| | | // viewBinding.dialogConfirmLy.setEnabled(true); |
| | | // viewBinding.dialogConfirmTv.setEnabled(true); |
| | | // if (timer != null) { |
| | | // timer.cancel(); |
| | | // timer = null; |
| | | // } |
| | | } |
| | | }; |
| | | |
| | |
| | | * |
| | | * @param onNoOnclickListener - |
| | | */ |
| | | public void setNoOnclickListener(ConfirmationCancelDialog.onNoOnclickListener onNoOnclickListener) { |
| | | public void setNoOnclickListener(onNoOnclickListener onNoOnclickListener) { |
| | | if (onNoOnclickListener != null) { |
| | | this.noOnclickListener = onNoOnclickListener; |
| | | } |
| | |
| | | * |
| | | * @param yesOnclickListener - |
| | | */ |
| | | public void setYesOnclickListener(ConfirmationCancelDialog.onYesOnclickListener yesOnclickListener) { |
| | | public void setYesOnclickListener(onYesOnclickListener yesOnclickListener) { |
| | | if (yesOnclickListener != null) { |
| | | this.yesOnclickListener = yesOnclickListener; |
| | | } |