From 73b3585a9dd3f745f020fe24796e50031b41a811 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 15 六月 2023 21:23:09 +0800
Subject: [PATCH] 2023年06月15日21:23:00

---
 app/src/main/java/com/hdl/photovoltaic/utils/KeyboardStateObserverUtils.java  |   15 ++--
 app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java                      |   29 ++++++---
 app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationDialog.java         |   15 +++++
 app/src/main/res/layout/activity_home_login.xml                               |    2 
 app/src/main/res/layout/loading_confirm_input.xml                             |    1 
 app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java    |   54 ++++++++++++++---
 app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java         |    1 
 app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java              |   21 +++---
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java |   31 +++++-----
 .idea/misc.xml                                                                |    4 +
 10 files changed, 119 insertions(+), 54 deletions(-)

diff --git a/.idea/misc.xml b/.idea/misc.xml
index fb7beae..106e635 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,8 +3,12 @@
   <component name="DesignSurface">
     <option name="filePathToZoomLevelMap">
       <map>
+        <entry key="../../../../../layout/custom_preview.xml" value="0.22314814814814815" />
         <entry key="app/src/main/res/layout/activity_home_login.xml" value="0.10030395136778116" />
+        <entry key="app/src/main/res/layout/activity_my_power_station.xml" value="0.10030395136778116" />
+        <entry key="app/src/main/res/layout/fragment_house_list.xml" value="0.10030395136778116" />
         <entry key="app/src/main/res/layout/fragment_me.xml" value="0.10030395136778116" />
+        <entry key="app/src/main/res/layout/loading_confirm_input.xml" value="0.10030395136778116" />
         <entry key="app/src/main/res/layout/toolbar_top_view_52.xml" value="0.10030395136778116" />
       </map>
     </option>
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
index 8a6c030..4b03a84 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -48,26 +48,27 @@
         initView();
         //鍒濆鍖栫晫闈㈢洃鍚櫒
         initEvent();
-        ///**/鍦ㄧ晫闈腑浣跨敤锛�
+        //鍦ㄧ晫闈腑浣跨敤
 //        KeyboardStateObserverUtils.getKeyboardStateObserver(_mActivity).setKeyboardVisibilityListener(new KeyboardStateObserverUtils.OnKeyboardVisibilityListener() {
 //            @Override
-//
-//            public void onKeyboardShow() {
+//            public void onKeyboardShow(int h) {
 //                //Toast.makeText(MainActivity.this,"閿洏寮瑰嚭",Toast.LENGTH_SHORT).show();
 //                ConstraintSet cs = new ConstraintSet();
-//                cs.connect(R.id.home_login_title_tv, ConstraintSet.TOP, ConstraintSet.PARENT_ID, ConstraintSet.TOP, 400);//
+//                cs.clone(viewBinding.homeLoginParentCl);
+////                (viewBinding.loadingConfirmationRl.getTop()-dip2px(h))
+//                cs.connect(R.id.home_login_tv, ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, h);//
 //                //搴旂敤绾︽潫
-//                cs.applyTo(viewBinding.parentCl);
-////                viewBinding.agreementLl.setVisibility(View.GONE);
+//                cs.applyTo(viewBinding.homeLoginParentCl);
 //            }
 //
 //            @Override
 //
-//            public void onKeyboardHide() {
-//                //Toast.makeText(MainActivity.this,"閿洏鏀跺洖",Toast.LENGTH_SHORT).show();
+//            public void onKeyboardHide(int h) {
 //                ConstraintSet cs = new ConstraintSet();
-//                cs.connect(R.id.home_login_title_tv, ConstraintSet.TOP, ConstraintSet.PARENT_ID, ConstraintSet.TOP, 400);//
-//                cs.applyTo(viewBinding.parentCl);
+//                cs.clone(viewBinding.homeLoginParentCl);
+//                cs.connect(R.id.home_login_tv, ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, h);//
+//                //搴旂敤绾︽潫
+//                cs.applyTo(viewBinding.homeLoginParentCl);
 //            }
 //
 //        });
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
index a027d30..0bbf25e 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
@@ -28,6 +28,7 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
+        getWindow().setStatusBarColor(getColor(R.color.text_245EC3));
         //鍒濆鍖�
         initView();
         //鍒濆鍖栫晫闈㈢洃鍚櫒
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
index 45b0636..3c595e7 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -66,13 +66,14 @@
         viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                String path = "pages/powerStationDetail/index";
-//                HDLUniMP.UNI_PATH_MILLIMETER;//鍘熺敓閫氱煡灏忕▼搴忓湴鍧�
-                HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
-                uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_HOME_DETAILS);
-                JSONObject json = uniCallBackBaseBean.getJSONObject(uniCallBackBaseBean);
-
-//                HDLUniMPSDKManager.getInstance().openUniMP(HDLUniMP.UNI_APP_ID, path, json, new HDLUniMPSDKManager.IOnOtherUniMPEventCallBack() {
+//                String path = "pages/powerStationDetail/index";
+////                HDLUniMP.UNI_PATH_MILLIMETER;//鍘熺敓閫氱煡灏忕▼搴忓湴鍧�
+//                HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
+//                uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_HOME_DETAILS);
+//                uniCallBackBaseBean.setPath(path);
+//                JSONObject jsonObject = uniCallBackBaseBean.getJSONObject();
+//
+//                HDLUniMPSDKManager.getInstance().openUniMP(HDLUniMP.UNI_APP_ID, path, jsonObject, new HDLUniMPSDKManager.IOnOtherUniMPEventCallBack() {
 //                    @Override
 //                    public void onOtherUniMPEventReceive(String appid, String event, Object data, DCUniMPJSCallback callback) {
 //
@@ -96,14 +97,14 @@
 //                    startActivity(FastScanActivity.class);
 //                }
 
-//                ConfirmationInputDialog confirmationInputDialog =new ConfirmationInputDialog(_mActivity);
-//                confirmationInputDialog.show();
-//                confirmationInputDialog.setNoOnclickListener(new ConfirmationInputDialog.onNoOnclickListener() {
-//                    @Override
-//                    public void Cancel() {
-//                        confirmationInputDialog.dismiss();
-//                    }
-//                });
+                ConfirmationInputDialog confirmationInputDialog = new ConfirmationInputDialog(_mActivity);
+                confirmationInputDialog.show();
+                confirmationInputDialog.setNoOnclickListener(new ConfirmationInputDialog.onNoOnclickListener() {
+                    @Override
+                    public void Cancel() {
+                        confirmationInputDialog.dismiss();
+                    }
+                });
 
             }
         });
diff --git a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
index 2d35ae6..4fb75f6 100644
--- a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
+++ b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
@@ -1,6 +1,5 @@
 package com.hdl.photovoltaic.uni;
 
-import androidx.annotation.NonNull;
 
 import com.google.gson.Gson;
 
@@ -51,6 +50,7 @@
     public static class UniCallBackBaseBean implements Serializable {
 
 
+        private String path;//鎵撳紑灏忕▼搴忚矾寰�(鏆傛椂鐢ㄤ笉涓�)
         private String code;//鐘舵�佺爜
         private String mes;//淇℃伅鎻忚堪
         private String topic;//鏆傛椂鐢ㄤ笉涓�
@@ -109,15 +109,26 @@
             this.type = type;
         }
 
-        public JSONObject getJSONObject(Object obj) {
-            Gson gson = new Gson();
-            String json = gson.toJson(obj);
-            com.alibaba.fastjson.JSONObject  d=new com.alibaba.fastjson.JSONObject();
-            JSONObject jsonObject = gson.fromJson(json, JSONObject.class);
-            if (jsonObject == null) {
-                jsonObject = new JSONObject();
+        public String getPath() {
+            return path == null ? "" : path;
+        }
+
+        public void setPath(String path) {
+            this.path = path;
+        }
+
+        /**
+         * 褰撳墠瀵硅薄杞� JSONObject
+         *
+         * @return JSONObject
+         */
+        public JSONObject getJSONObject() {
+            try {
+                String json = new Gson().toJson(this);
+                return new JSONObject(json);
+            } catch (Exception e) {
+                return new JSONObject();
             }
-            return jsonObject;
         }
 
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/utils/KeyboardStateObserverUtils.java b/app/src/main/java/com/hdl/photovoltaic/utils/KeyboardStateObserverUtils.java
index e94f1fc..408e86e 100644
--- a/app/src/main/java/com/hdl/photovoltaic/utils/KeyboardStateObserverUtils.java
+++ b/app/src/main/java/com/hdl/photovoltaic/utils/KeyboardStateObserverUtils.java
@@ -17,7 +17,7 @@
 
     }
 
-    private View mChildOfContent;
+    private final View mChildOfContent;
 
     private int usableHeightPrevious;//浣跨敤楂樺害
 
@@ -52,20 +52,20 @@
         int usableHeightNow = computeUsableHeight();
 
         if (usableHeightNow != usableHeightPrevious) {
-            //鍙敤楂樺害鏃犻敭鐩�
+            //鑾峰彇鏁翠釜灞忓箷鐨勯珮搴�
             int usableHeightSansKeyboard = mChildOfContent.getRootView().getHeight();
 
             int heightDifference = usableHeightSansKeyboard - usableHeightNow;
 
             if (heightDifference > (usableHeightSansKeyboard / 4)) {
                 if (listener != null) {
-                    listener.onKeyboardShow();
+                    listener.onKeyboardShow(heightDifference);
 
                 }
 
             } else {
                 if (listener != null) {
-                    listener.onKeyboardHide();
+                    listener.onKeyboardHide(heightDifference);
 
                 }
 
@@ -87,19 +87,18 @@
     private int computeUsableHeight() {
         Rect r = new Rect();
 
-        //鑾峰彇鍙绐楀彛
+        //鑾峰彇鍙互鏄剧ず鐨勫尯鍩�
         mChildOfContent.getWindowVisibleDisplayFrame(r);
 
         //Log.d(TAG,"rec bottom>" + r.bottom + " | rec top>" + r.top);
-
         return (r.bottom - r.top);// 鍏ㄥ睆妯″紡涓嬶細 return r.bottom
 
     }
 
     public interface OnKeyboardVisibilityListener {
-        void onKeyboardShow();
+        void onKeyboardShow(int h);
 
-        void onKeyboardHide();
+        void onKeyboardHide(int h);
 
     }
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationDialog.java
index bd45db1..8eca038 100644
--- a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationDialog.java
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationDialog.java
@@ -54,6 +54,9 @@
             return;
         }
         titleStr = title;
+        if (viewBinding != null) {
+            viewBinding.loadingConfirmationTitleTv.setText(titleStr);
+        }
 
     }
 
@@ -68,6 +71,12 @@
         }
         yesStr = confirm;
 
+
+        if (viewBinding != null) {
+            viewBinding.dialogConfirmTv.setText(yesStr);
+        }
+
+
     }
 
     /**
@@ -80,6 +89,9 @@
             return;
         }
         noStr = cancel;
+        if (viewBinding != null) {
+            viewBinding.dialogCancelTv.setText(noStr);
+        }
 
     }
 
@@ -93,6 +105,9 @@
             return;
         }
         contentStr = content;
+        if (viewBinding != null) {
+            viewBinding.loadingConfirmationContentTv.setText(contentStr);
+        }
     }
 
     private void initEvent() {
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 2c81d80..16c6e59 100644
--- a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java
@@ -33,7 +33,6 @@
     private LoadingConfirmInputBinding viewBinding;
     private String titleStr, yesStr, noStr;
 
-
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -48,26 +47,27 @@
         initData();
         //鍒濆鍖栫晫闈㈡帶浠剁殑浜嬩欢
         initEvent();
-
-        ///**/鍦ㄧ晫闈腑浣跨敤锛�
+        //鍦ㄧ晫闈腑浣跨敤
         KeyboardStateObserverUtils.getKeyboardStateObserver((Activity) mContext).setKeyboardVisibilityListener(new KeyboardStateObserverUtils.OnKeyboardVisibilityListener() {
             @Override
-
-            public void onKeyboardShow() {
+            public void onKeyboardShow(int h) {
                 //Toast.makeText(MainActivity.this,"閿洏寮瑰嚭",Toast.LENGTH_SHORT).show();
                 ConstraintSet cs = new ConstraintSet();
-                cs.connect(R.id.loading_confirmation_rl, ConstraintSet.TOP, ConstraintSet.PARENT_ID, ConstraintSet.TOP, 40);//
+                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.contentBaseView);
-//                viewBinding.agreementLl.setVisibility(View.GONE);
+                cs.applyTo(viewBinding.loadingParentCl);
             }
 
             @Override
 
-            public void onKeyboardHide() {
-                //Toast.makeText(MainActivity.this,"閿洏鏀跺洖",Toast.LENGTH_SHORT).show();
+            public void onKeyboardHide(int h) {
                 ConstraintSet cs = new ConstraintSet();
-                cs.connect(R.id.loading_confirmation_rl, ConstraintSet.TOP, ConstraintSet.PARENT_ID, ConstraintSet.TOP, 40);//
+                cs.clone(viewBinding.loadingParentCl);
+                cs.connect(R.id.loading_confirmation_rl, ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, px2dip(h));//
+                //搴旂敤绾︽潫
+                cs.applyTo(viewBinding.loadingParentCl);
             }
 
         });
@@ -85,6 +85,9 @@
             return;
         }
         titleStr = title;
+        if (viewBinding != null) {
+            viewBinding.loadingConfirmationTitleTv.setText(titleStr);
+        }
 
     }
 
@@ -98,6 +101,10 @@
             return;
         }
         yesStr = confirm;
+
+        if (viewBinding != null) {
+            viewBinding.dialogConfirmTv.setText(yesStr);
+        }
 
 
     }
@@ -113,6 +120,9 @@
         }
         noStr = cancel;
 
+        if (viewBinding != null) {
+            viewBinding.dialogCancelTv.setText(noStr);
+        }
     }
 
 
@@ -158,6 +168,9 @@
      * 鍒濆鍖栫晫闈㈡帶浠剁殑鏄剧ず鏁版嵁
      */
     private void initData() {
+        if (viewBinding == null) {
+            return;
+        }
         //濡傛灉鐢ㄦ埛鑷畾浜唗itle鍜宮essage
         if (!TextUtils.isEmpty(titleStr)) {
             viewBinding.loadingConfirmationTitleTv.setText(titleStr);
@@ -209,4 +222,23 @@
         void Confirm(String str);
     }
 
+    /**
+     * 鏍规嵁鎵嬫満鐨勫垎杈ㄧ巼浠� dp 鐨勫崟浣� 杞垚涓� px(鍍忕礌)
+     */
+    public int dip2px(float dpValue) {
+        if (mContext == null) {
+            return 0;
+        }
+        final float scale = mContext.getResources().getDisplayMetrics().density;
+        return (int) (dpValue * scale + 0.5f);
+    }
+
+    /**
+     * 鏍规嵁鎵嬫満鐨勫垎杈ㄧ巼浠� px(鍍忕礌) 鐨勫崟浣� 杞垚涓� dp
+     */
+    public int px2dip(float pxValue) {
+        final float scale = mContext.getResources().getDisplayMetrics().density;
+        return (int) (pxValue / scale + 0.5f);
+    }
+
 }
diff --git a/app/src/main/res/layout/activity_home_login.xml b/app/src/main/res/layout/activity_home_login.xml
index 1dba5cc..ca3341a 100644
--- a/app/src/main/res/layout/activity_home_login.xml
+++ b/app/src/main/res/layout/activity_home_login.xml
@@ -2,7 +2,7 @@
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/parent_cl"
+    android:id="@+id/home_login_parent_cl"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     tools:context="com.hdl.photovoltaic.ui.HomeLoginActivity">
diff --git a/app/src/main/res/layout/loading_confirm_input.xml b/app/src/main/res/layout/loading_confirm_input.xml
index 9a9f89f..07653df 100644
--- a/app/src/main/res/layout/loading_confirm_input.xml
+++ b/app/src/main/res/layout/loading_confirm_input.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/loading_parent_cl"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 

--
Gitblit v1.8.0