From 8814f3f0828e6ac652a29cc9de9f971fd55bca5b Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 07 五月 2025 14:54:42 +0800
Subject: [PATCH] 2025年05月07日14: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