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