package com.dayu.qiheonlinelibrary.view; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; import android.view.Gravity; import android.view.KeyEvent; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.EditText; import android.widget.TextView; import com.dayu.baselibrary.utils.TipUtil; import com.dayu.baselibrary.view.EdtDialog; import com.dayu.qiheonlinelibrary.R; /** * author: zuo * Date: 2024-08-09 * Time: 14:52 * 备注:补卡工本费 */ public class ReplacementPriceDialog extends Dialog { Intent intent; Context mContext; DialogBack mDialogBack; String mTitle; public ReplacementPriceDialog(Context context, DialogBack dialogBack) { super(context, com.dayu.baselibrary.R.style.ws_pay_showSelfDialog); mContext = context; mDialogBack = dialogBack; initView(); } private void initView() { getWindow().setGravity(Gravity.CENTER); setContentView(R.layout.dialog_replace_price); setCanceledOnTouchOutside(false); TextView textView = (TextView) this.findViewById(com.dayu.baselibrary.R.id.pw_ok); EditText editText = (EditText) this.findViewById(com.dayu.baselibrary.R.id.pw_et); setPricePoint(editText); TextView title = this.findViewById(com.dayu.baselibrary.R.id.title); if (!TextUtils.isEmpty(mTitle)) { title.setVisibility(View.VISIBLE); title.setText(mTitle); } textView.setOnClickListener(v -> { String data = editText.getText().toString(); if (TextUtils.isEmpty(data)) { TipUtil.show("请输入工本费"); } else { if (mDialogBack != null) { mDialogBack.onOk(data); } } }); // 设置 OnKeyListener 拦截返回键事件 setOnKeyListener((dialog, keyCode, event) -> { if (keyCode == KeyEvent.KEYCODE_BACK) { // 拦截返回键事件,返回 true return true; } return false; }); } @Override public void show() { super.show(); /** * 设置宽度全屏,要设置在show的后面 */ WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); layoutParams.gravity = Gravity.CENTER; layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT; layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT; getWindow().getDecorView().setPadding(0, 0, 0, 0); getWindow().setAttributes(layoutParams); } public interface DialogBack { void onOk(String data); } //校验金额 public void setPricePoint(final EditText editText) { editText.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if (s.toString().contains(".")) { if (s.length() - 1 - s.toString().indexOf(".") > 2) { s = s.toString().subSequence(0, s.toString().indexOf(".") + 3); editText.setText(s); editText.setSelection(s.length()); } } if (s.toString().trim().substring(0).equals(".")) { s = "0" + s; editText.setText(s); editText.setSelection(2); } if (s.toString().startsWith("0") && s.toString().trim().length() > 1) { if (!s.toString().substring(1, 2).equals(".")) { editText.setText(s.subSequence(0, 1)); editText.setSelection(1); } } String morny = editText.getText().toString(); if (!TextUtils.isEmpty(morny)) { // rechageWater = MornyUtil.intDiv(MornyUtil.changeY2F(editText.getText().toString()), waterPrice); // binding.redRechargeWater.setText("充值水量:" + rechageWater + " 立方米(吨)"); } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { // TODO Auto-generated method stub } }); } }