From 1f3acf4c29f367e40a3f589b51176ed24e28948f Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 02 九月 2025 17:54:42 +0800
Subject: [PATCH] 2025年09月02日17:54:39
---
app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java | 113 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 94 insertions(+), 19 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java
index b117d45..b4834a7 100644
--- a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java
@@ -1,5 +1,6 @@
package com.hdl.photovoltaic.widget;
+import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
@@ -10,31 +11,33 @@
import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
+import androidx.constraintlayout.widget.ConstraintSet;
import com.hdl.photovoltaic.R;
-import com.hdl.photovoltaic.databinding.LoadingConfirmInputBinding;
+import com.hdl.photovoltaic.base.BaseDialog;
+import com.hdl.photovoltaic.databinding.DialogConfirmInputBinding;
+import com.hdl.photovoltaic.utils.KeyboardStateObserverUtils;
/**
* 杈撳叆纭妗�
*/
-public class ConfirmationInputDialog extends Dialog {
+public class ConfirmationInputDialog extends BaseDialog {
public ConfirmationInputDialog(@NonNull Context context) {
- super(context, R.style.Custom_AlertDialog);
+ super(context, R.style.Custom_Dialog);
this.mContext = context;
}
private final Context mContext;
private onNoOnclickListener noOnclickListener;//鍙栨秷鎸夐挳琚偣鍑讳簡鐨勭洃鍚櫒
private onYesOnclickListener yesOnclickListener;//纭畾鎸夐挳琚偣鍑讳簡鐨勭洃鍚櫒
- private LoadingConfirmInputBinding viewBinding;
- private String titleStr, yesStr, noStr;
-
+ private DialogConfirmInputBinding viewBinding;
+ private String titleStr, yesStr, noStr,edit_content;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- viewBinding = LoadingConfirmInputBinding.inflate(getLayoutInflater());
+ viewBinding = DialogConfirmInputBinding.inflate(getLayoutInflater());
setContentView(viewBinding.getRoot());
// setCancelable(true);//绯荤粺鍚庨��鍙互鍙栨秷
//绌虹櫧澶勪笉鑳藉彇娑堝姩鐢�
@@ -45,6 +48,37 @@
initData();
//鍒濆鍖栫晫闈㈡帶浠剁殑浜嬩欢
initEvent();
+ //鍦ㄧ晫闈腑浣跨敤
+ KeyboardStateObserverUtils.getKeyboardStateObserver((Activity) mContext).setKeyboardVisibilityListener(new KeyboardStateObserverUtils.OnKeyboardVisibilityListener() {
+ @Override
+ public void onKeyboardShow(int h) {
+ ConstraintSet cs = new ConstraintSet();
+ cs.clone(viewBinding.loadingParentCl);
+// (viewBinding.loadingConfirmationRl.getTop()-dip2px(h))
+
+ cs.connect(R.id.loading_confirmation_rl, ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, px2dip(h));//
+ //搴旂敤绾︽潫
+ cs.applyTo(viewBinding.loadingParentCl);
+
+
+// FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) viewBinding.loadingParentCl.getLayoutParams();
+// lp.bottomMargin = px2dip(h);
+// viewBinding.loadingParentCl.setLayoutParams(lp);
+
+
+ }
+
+ @Override
+
+ public void onKeyboardHide(int h) {
+ ConstraintSet cs = new ConstraintSet();
+ cs.clone(viewBinding.loadingParentCl);
+ cs.connect(R.id.loading_confirmation_rl, ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, px2dip(h));//
+ //搴旂敤绾︽潫
+ cs.applyTo(viewBinding.loadingParentCl);
+ }
+
+ });
}
@@ -59,6 +93,25 @@
return;
}
titleStr = title;
+ if (viewBinding != null) {
+ viewBinding.loadingConfirmationTitleTv.setText(titleStr);
+ }
+
+ }
+
+ /**
+ * 杈撳叆妗嗗唴瀹�
+ *
+ * @param edit_content 杈撳叆妗嗗唴瀹�
+ */
+ public void setEditContent(String edit_content) {
+ if (TextUtils.isEmpty(edit_content)) {
+ return;
+ }
+ this.edit_content = edit_content;
+ if (viewBinding != null) {
+ viewBinding.loadingConfirmationInputEt.setText(edit_content);
+ }
}
@@ -72,6 +125,10 @@
return;
}
yesStr = confirm;
+
+ if (viewBinding != null) {
+ viewBinding.dialogConfirmTv.setText(yesStr);
+ }
}
@@ -87,6 +144,9 @@
}
noStr = cancel;
+ if (viewBinding != null) {
+ viewBinding.dialogCancelTv.setText(noStr);
+ }
}
@@ -108,21 +168,11 @@
}
});
-
viewBinding.loadingConfirmationClickTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- v.setSelected(!v.isSelected());
- if (v.isSelected()) {
- viewBinding.loadingConfirmationInputEt.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
- viewBinding.loadingConfirmationHideIv.setImageDrawable(AppCompatResources.getDrawable(mContext, R.drawable.show));
- } else {
- viewBinding.loadingConfirmationInputEt.setTransformationMethod(PasswordTransformationMethod.getInstance());
- viewBinding.loadingConfirmationHideIv.setImageDrawable(AppCompatResources.getDrawable(mContext, R.drawable.hide));
- }
- //璁剧疆鍏夋爣浣嶇疆
- viewBinding.loadingConfirmationInputEt.setSelection(viewBinding.loadingConfirmationInputEt.getText().length());
-
+ //涓�閿竻绌烘枃鏈�
+ viewBinding.loadingConfirmationInputEt.setText("");
}
});
}
@@ -132,6 +182,9 @@
* 鍒濆鍖栫晫闈㈡帶浠剁殑鏄剧ず鏁版嵁
*/
private void initData() {
+ if (viewBinding == null) {
+ return;
+ }
//濡傛灉鐢ㄦ埛鑷畾浜唗itle鍜宮essage
if (!TextUtils.isEmpty(titleStr)) {
viewBinding.loadingConfirmationTitleTv.setText(titleStr);
@@ -142,6 +195,9 @@
}
if (!TextUtils.isEmpty(noStr)) {
viewBinding.dialogCancelTv.setText(noStr);
+ }
+ if (!TextUtils.isEmpty(edit_content)) {
+ viewBinding.loadingConfirmationInputEt.setText(edit_content);
}
}
@@ -183,4 +239,23 @@
void Confirm(String str);
}
+ /**
+ * 鏍规嵁鎵嬫満鐨勫垎杈ㄧ巼浠� dp 鐨勫崟浣� 杞垚涓� px(鍍忕礌)
+ */
+ private int dip2px(float dpValue) {
+ if (mContext == null) {
+ return 0;
+ }
+ final float scale = mContext.getResources().getDisplayMetrics().density;
+ return (int) (dpValue * scale + 0.5f);
+ }
+
+ /**
+ * 鏍规嵁鎵嬫満鐨勫垎杈ㄧ巼浠� px(鍍忕礌) 鐨勫崟浣� 杞垚涓� dp
+ */
+ private int px2dip(float pxValue) {
+ final float scale = mContext.getResources().getDisplayMetrics().density;
+ return (int) (pxValue / scale + 0.5f);
+ }
+
}
--
Gitblit v1.8.0