From e0abee7b6ab08462f1f5a94e356ddf84f2eb3271 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 07 六月 2023 16:41:34 +0800
Subject: [PATCH] 2023年06月07日16:41:22
---
app/src/main/res/drawable/progress_small.xml | 23 +++
app/src/main/res/values/strings.xml | 1
app/src/main/res/values/themes.xml | 23 +++
app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java | 56 ++++++++
app/src/main/java/com/hdl/photovoltaic/enums/ShowMsgType.java | 12 +
app/src/main/res/drawable/loading.png | 0
app/src/main/res/values/colors.xml | 1
.idea/misc.xml | 5
app/src/main/java/com/hdl/photovoltaic/widget/LoadingDialog.java | 74 ++++++++++
app/src/main/res/layout/loading_alert.xml | 42 ++++++
app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java | 22 +++
app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java | 5
app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java | 122 ++++-------------
app/src/main/res/drawable/bg_load_dialog.xml | 5
14 files changed, 297 insertions(+), 94 deletions(-)
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 613a21b..19f8f00 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -6,6 +6,9 @@
<entry key="../../../../../layout/custom_preview.xml" value="0.22923076923076924" />
<entry key="../../../.gradle/caches/transforms-2/files-2.1/7c2cbaa925629e10707989293f119941/jetified-zxing-android-embedded-3.4.0/res/layout/zxing_barcode_scanner.xml" value="0.20625" />
<entry key="../../../.gradle/caches/transforms-2/files-2.1/7c2cbaa925629e10707989293f119941/jetified-zxing-android-embedded-3.4.0/res/layout/zxing_capture.xml" value="0.20625" />
+ <entry key="app/src/main/res/drawable/bg_load_dialog.xml" value="0.1275" />
+ <entry key="app/src/main/res/drawable/progress_small.xml" value="0.1275" />
+ <entry key="app/src/main/res/drawable/progress_small1.xml" value="0.1275" />
<entry key="app/src/main/res/layout/activity_1.xml" value="0.20625" />
<entry key="app/src/main/res/layout/activity_123.xml" value="0.20625" />
<entry key="app/src/main/res/layout/activity_capture.xml" value="0.20625" />
@@ -16,6 +19,8 @@
<entry key="app/src/main/res/layout/fragment_house_list.xml" value="0.20625" />
<entry key="app/src/main/res/layout/fragment_me.xml" value="0.1" />
<entry key="app/src/main/res/layout/frgment_house_list_line.xml" value="0.20625" />
+ <entry key="app/src/main/res/layout/loading_alert.xml" value="0.20625" />
+ <entry key="app/src/main/res/layout/loading_alert1.xml" value="0.1" />
<entry key="app/src/main/res/layout/toolbar_top_view_52.xml" value="0.20625" />
<entry key="app/src/main/res/layout/toolbar_top_view_53.xml" value="0.20625" />
<entry key="third-zxing/src/main/res/drawable/transparent_divider.xml" value="0.1275" />
diff --git a/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java b/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java
index 04b2ce1..55f0f95 100644
--- a/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java
@@ -1,20 +1,31 @@
package com.hdl.photovoltaic.base;
import android.app.Activity;
+import android.content.Context;
+import android.content.DialogInterface;
import android.content.Intent;
+import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.util.Log;
+import android.view.KeyEvent;
import android.view.View;
+import android.view.WindowManager;
+import android.widget.TextView;
import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
+import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.listener.BaseView;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.utils.AppManagerUtils;
+import com.hdl.photovoltaic.widget.LoadingDialog;
public abstract class BaseActivity extends AppCompatActivity implements BaseView {
+ private LoadingDialog loadingDialog;
protected Activity _mActivity;
@Override
@@ -35,10 +46,55 @@
}
+ /**
+ * 鑾峰彇LoadingDialog
+ *
+ * @return LoadingDialog
+ */
+ protected LoadingDialog getLoadingDialog() {
+ if (loadingDialog == null && _mActivity != null) {
+ loadingDialog = new LoadingDialog(_mActivity, R.style.Custom_AlertDialog);
+ }
+ return loadingDialog;
+ }
+
+ /**
+ * 寮�濮婰oading
+ */
+ protected void showLoading() {
+ getLoadingDialog().start();
+ }
+
+ /**
+ * 寮�濮婰oading
+ *
+ * @param mes 鑷畾涔夋枃鏈�
+ */
+ protected void showLoading(String mes) {
+ getLoadingDialog().start();
+ getLoadingDialog().setText(mes);
+ }
+
+ /**
+ * 鍋滄闅愯棌Loading
+ */
+ protected void hideLoading() {
+ HdlThreadLogic.runMainThread(new Runnable() {
+ @Override
+ public void run() {
+ if (loadingDialog != null && loadingDialog.isShowing()) {
+ loadingDialog.stop();
+ }
+ }
+ }, null, null);
+ }
+
@Override
protected void onDestroy() {
super.onDestroy();
+ //闅愯棌Loading
+ hideLoading();
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java b/app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java
index 5598bea..7e4d36b 100644
--- a/app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java
@@ -16,7 +16,10 @@
import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.Lifecycle;
+import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.listener.BaseView;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
+import com.hdl.photovoltaic.widget.LoadingDialog;
import org.greenrobot.eventbus.EventBus;
@@ -27,9 +30,7 @@
private boolean isFirst = true;
protected FragmentActivity _mActivity;
protected View mContainerView;
-// private LoadingDialog loadingDialog;
-// private LoadingDialog loadingGetDataDialog;
-// private DeviceLoadingDialog deviceLoadingDialog;
+ private LoadingDialog loadingDialog;
@Override
public void onAttach(@NonNull Context context) {
@@ -99,6 +100,8 @@
super.onDestroyView();
_mActivity = null;
isFirst = true;
+ //闅愯棌Loading
+ hideLoading();
// unregisterEventBus();
}
@@ -154,118 +157,51 @@
}
}
- /* *//**
+
+ /**
* 鑾峰彇LoadingDialog
*
- * @return
- *//*
+ * @return LoadingDialog
+ */
protected LoadingDialog getLoadingDialog() {
if (loadingDialog == null && _mActivity != null) {
- loadingDialog = new LoadingDialog(_mActivity, R.style.loading_dialog);
+ loadingDialog = new LoadingDialog(_mActivity, R.style.Custom_AlertDialog);
}
return loadingDialog;
}
- public LoadingDialog getLoadingGetDataDialog() {
- if (loadingGetDataDialog == null && _mActivity != null) {
- loadingGetDataDialog = new LoadingDialog(_mActivity, R.style.loading_dialog);
- }
- return loadingGetDataDialog;
- }
-
-
- *//**
- * 鑾峰彇DeviceLoadingDialog
- *
- * @return
- *//*
- protected DeviceLoadingDialog getDeviceLoadingDialog() {
- if (deviceLoadingDialog == null && _mActivity != null) {
- deviceLoadingDialog = new DeviceLoadingDialog(_mActivity, R.style.loading_dialog);
- }
- return deviceLoadingDialog;
- }
-
- *//**
+ /**
* 寮�濮婰oading
- *//*
- public void showLoading() {
+ */
+ protected void showLoading() {
getLoadingDialog().start();
}
- *//**
+ /**
* 寮�濮婰oading
- *//*
- public void showDeviceLoading() {
- getDeviceLoadingDialog().start();
- }
-
-
- *//**
- * 寮�濮婰oading
- *//*
+ *
+ * @param mes 鑷畾涔夋枃鏈�
+ */
protected void showLoading(String mes) {
getLoadingDialog().start();
getLoadingDialog().setText(mes);
}
-
- *//**
- * 寮�濮婰oading
- *//*
- protected void showGetDataLoading(String mes) {
- getLoadingGetDataDialog().startTouchNotGone();
- getLoadingGetDataDialog().setText(mes);
- }
-
-
- *//**
- * 寮�濮婰oading
- *//*
- protected void showDeviceLoading(String mes) {
- getDeviceLoadingDialog().start();
- getDeviceLoadingDialog().setText(mes);
- }
-
- *//**
- * 鍋滄闅愯棌Loading
- *//*
- protected void hideLoading() {
- if (loadingDialog != null && loadingDialog.isShowing()) {
- loadingDialog.stop();
- }
- }
-
- *//**
- * 鍋滄闅愯棌Loading
- *//*
- protected void hideGetDataLoading() {
- if (loadingGetDataDialog != null && loadingGetDataDialog.isShowing()) {
- loadingGetDataDialog.stop();
- }
- }
-
- */
-
/**
* 鍋滄闅愯棌Loading
- *//*
- protected void hideDeviceLoading() {
- if (deviceLoadingDialog != null && deviceLoadingDialog.isShowing()) {
- deviceLoadingDialog.stop();
- }
- }*/
-
- //鐢ㄤ簬popwindow鏄剧ず闅愯棌鏃跺�欒儗鏅殑棰滆壊鏇存崲
- protected void backgroundAlpha(float bgAlpha) {
- if (_mActivity != null) {
- WindowManager.LayoutParams lp = _mActivity.getWindow().getAttributes();
- _mActivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
- lp.alpha = bgAlpha; //0.0-1.0
- _mActivity.getWindow().setAttributes(lp);
- }
+ */
+ protected void hideLoading() {
+ HdlThreadLogic.runMainThread(new Runnable() {
+ @Override
+ public void run() {
+ if (loadingDialog != null && loadingDialog.isShowing()) {
+ loadingDialog.stop();
+ }
+ }
+ }, null, null);
}
+
public static boolean isZh(Context context) {
Locale locale = context.getResources().getConfiguration().locale;
String language = locale.getLanguage();
diff --git a/app/src/main/java/com/hdl/photovoltaic/enums/ShowMsgType.java b/app/src/main/java/com/hdl/photovoltaic/enums/ShowMsgType.java
new file mode 100644
index 0000000..1932438
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/enums/ShowMsgType.java
@@ -0,0 +1,12 @@
+package com.hdl.photovoltaic.enums;
+
+/**
+ * 淇℃伅鏄剧ず鐨勭被鍨�
+ */
+public enum ShowMsgType {
+ Normal,//鏅�氭彁绀虹被鍨�
+ Confirm,//纭绫诲瀷
+ Error,//閿欒绫诲瀷
+ Tip,//Tip绫诲瀷
+ Remind, //鎻愰啋绫诲瀷
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
new file mode 100644
index 0000000..4238242
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
@@ -0,0 +1,22 @@
+package com.hdl.photovoltaic.other;
+
+/**
+ * 鐧婚檰鐣岄潰鐨勯�昏緫
+ */
+public class HdlAccountLogic {
+
+ private static volatile HdlAccountLogic sHdlAccountLogic;
+
+ public static synchronized HdlAccountLogic getInstance() {
+ if (sHdlAccountLogic == null) {
+ synchronized (HdlAccountLogic.class) {
+ if (sHdlAccountLogic == null) {
+ sHdlAccountLogic = new HdlAccountLogic();
+ }
+ }
+
+ }
+ return sHdlAccountLogic;
+ }
+
+}
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 591496b..6f15e08 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -2,6 +2,7 @@
import android.os.Bundle;
+import android.os.SystemClock;
import android.text.Editable;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
@@ -12,6 +13,8 @@
import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.view.View;
+import android.view.animation.Animation;
+import android.view.animation.RotateAnimation;
import android.widget.TextView;
@@ -156,7 +159,7 @@
viewBinding.homeLoginExperienceTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- startActivity(MyPowerStationActivity.class);
+ //startActivity(MyPowerStationActivity.class);
}
});
diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/LoadingDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/LoadingDialog.java
new file mode 100644
index 0000000..2b43bf0
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/LoadingDialog.java
@@ -0,0 +1,74 @@
+package com.hdl.photovoltaic.widget;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.WindowManager;
+import android.widget.TextView;
+
+
+import com.hdl.photovoltaic.R;
+
+public class LoadingDialog extends Dialog {
+ private TextView content;
+
+ public LoadingDialog(Context context) {
+ super(context);
+ init(context);
+ }
+
+ public LoadingDialog(Context context, int theme) {
+ super(context, theme);
+ init(context);
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ }
+
+ private void init(Context context) {
+ setCancelable(true);//绯荤粺鍚庨��鍙互鍙栨秷
+ setCanceledOnTouchOutside(false);
+ setContentView(R.layout.loading_alert);
+ content = (TextView) findViewById(R.id.load_content_tv);
+ WindowManager.LayoutParams params = getWindow().getAttributes();
+ params.width = WindowManager.LayoutParams.WRAP_CONTENT;
+ params.height = WindowManager.LayoutParams.WRAP_CONTENT;
+ getWindow().setAttributes(params);
+// content.setText(R.string.device_鍔犺浇涓�);
+ }
+
+ public void setText(String mes) {
+ if (content != null && !TextUtils.isEmpty(mes)) {
+ content.setText(mes);
+ }
+ }
+
+ public String getTest() {
+ return content.getText().toString().trim();
+ }
+
+ public void start() {
+ if (!this.isShowing()) {
+ this.show();
+ }
+ }
+
+ //鐐瑰嚮澶栭儴涓嶅叧闂�
+ public void startTouchNotGone() {
+ if (!this.isShowing()) {
+ this.show();
+ setCancelable(true);
+ setCanceledOnTouchOutside(false);
+ }
+ }
+
+ public void stop() {
+ this.dismiss();
+ this.cancel();
+ }
+
+}
diff --git a/app/src/main/res/drawable/bg_load_dialog.xml b/app/src/main/res/drawable/bg_load_dialog.xml
new file mode 100644
index 0000000..5590cdf
--- /dev/null
+++ b/app/src/main/res/drawable/bg_load_dialog.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <solid android:color="@color/text_60000000" />
+ <corners android:radius="4dp" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/loading.png b/app/src/main/res/drawable/loading.png
new file mode 100644
index 0000000..1c79833
--- /dev/null
+++ b/app/src/main/res/drawable/loading.png
Binary files differ
diff --git a/app/src/main/res/drawable/progress_small.xml b/app/src/main/res/drawable/progress_small.xml
new file mode 100644
index 0000000..152951b
--- /dev/null
+++ b/app/src/main/res/drawable/progress_small.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<rotate xmlns:android="http://schemas.android.com/apk/res/android"
+ android:fromDegrees="0"
+ android:pivotX="50%"
+ android:pivotY="50%"
+ android:toDegrees="1440"
+
+ >
+ <shape
+ android:innerRadiusRatio="3"
+ android:shape="ring"
+ android:thicknessRatio="8"
+ android:useLevel="false">
+ <gradient
+ android:centerColor="#FFFFFF"
+ android:centerY="0.50"
+ android:endColor="#FFFFFF"
+ android:startColor="#000000"
+ android:type="sweep"
+ android:useLevel="false" />
+ </shape>
+
+</rotate>
\ No newline at end of file
diff --git a/app/src/main/res/layout/loading_alert.xml b/app/src/main/res/layout/loading_alert.xml
new file mode 100644
index 0000000..d1dec40
--- /dev/null
+++ b/app/src/main/res/layout/loading_alert.xml
@@ -0,0 +1,42 @@
+<?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:layout_width="wrap_content"
+ android:layout_height="85dp"
+ android:layout_gravity="center_horizontal"
+ android:background="@drawable/bg_load_dialog"
+ android:maxWidth="300dp"
+ android:minWidth="@dimen/dp_100">
+
+
+ <ProgressBar
+ android:id="@+id/load_pb"
+ android:layout_width="40dp"
+ android:layout_height="40dp"
+ android:layout_centerInParent="true"
+ android:layout_marginTop="@dimen/dp_10"
+ android:indeterminateDrawable="@drawable/progress_small"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <TextView
+ android:id="@+id/load_content_tv"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="@dimen/dp_10"
+ android:layout_marginTop="@dimen/dp_10"
+ android:layout_marginRight="@dimen/dp_10"
+ android:layout_marginBottom="@dimen/dp_10"
+ android:maxLines="1"
+ android:text="@string/device_鍔犺浇涓�"
+ android:textColor="@color/text_FFFFFFFF"
+ android:textSize="@dimen/text_12"
+ app:layout_constraintEnd_toEndOf="@+id/load_pb"
+ app:layout_constraintStart_toStartOf="@+id/load_pb"
+ app:layout_constraintTop_toBottomOf="@+id/load_pb"
+
+
+ />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 864d506..57ebb68 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -17,6 +17,7 @@
<color name="text_25000000">#25000000</color>
<color name="text_40000000">#40000000</color>
<color name="text_65000000">#65000000</color>
+ <color name="text_60000000">#60000000</color>
<color name="text_90000000">#90000000</color>
<color name="text_FF000000">#FF000000</color>
<color name="text_E1E1E1">#E1E1E1</color>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 750d136..8ee7c41 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -43,6 +43,7 @@
<string name="my_power_station_鏁呴殰">鏁呴殰</string>
<string name="my_power_station_杩愯">杩愯</string>
<string name="device_鎵嬪姩杩炴帴">鎵嬪姩杩炴帴</string>
+ <string name="device_鍔犺浇涓�">鍔犺浇涓�...</string>
<!--鎴戠殑-->
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 0d121ed..765e997 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -19,6 +19,7 @@
<item name="windowNoTitle">true</item>
</style>
+
<style name="Theme.PhotovoltaicDebug.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="Theme.PhotovoltaicDebug.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
@@ -27,4 +28,26 @@
<item name="fullscreenBackgroundColor">@color/light_blue_600</item>
<item name="fullscreenTextColor">@color/light_blue_A200</item>
</style>
+
+ <style name="Custom_AlertDialog">
+ <!--鑳屾櫙棰滆壊鍙婂拰閫忔槑绋嬪害-->
+ <item name="android:windowBackground">@android:color/transparent</item>
+ <!--鏄惁鍘婚櫎鏍囬 鎸嘾ialog寮规鏍囬-->
+ <item name="android:windowNoTitle">true</item>
+ <!--鏄惁鍘婚櫎杈规 -->
+ <item name="android:windowFrame">@null</item>
+ <!--鏄惁妯$硦-->
+ <item name="android:backgroundDimEnabled">true</item>
+ <!--鑳屾櫙閫忔槑搴� 鎸囩晫闈㈤�忔槑搴�-->
+ <item name="android:backgroundDimAmount">0.6</item>
+ <!--鏄惁娴幇鍦╝ctivity涔嬩笂-->
+ <item name="android:windowIsFloating">false</item>
+ <!--鏄剧ず閫氱煡鏍�-->
+ <item name="android:windowActionBar">false</item>
+
+ <!-- <item name="android:windowIsTranslucent">false</item>:鏄惁鍗婇�忔槑-->
+ <!-- <item name="android:windowNoTitle">true</item>:鏄惁鏄剧ずtitle-->
+ <!-- <item name="android:windowBackground">@drawable/dia_bg</item>:璁剧疆dialog鐨勮儗鏅�-->
+ </style>
+
</resources>
\ No newline at end of file
--
Gitblit v1.8.0