From b25b6b325094511ff800e676171eae8831ad40d9 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期二, 13 六月 2023 22:01:33 +0800 Subject: [PATCH] 2023年06月13日22:01:19 --- app/src/main/java/com/hdl/photovoltaic/ui/device/FastScanActivity.java | 6 third-zxing/build.gradle | 4 app/src/main/res/drawable/loading_confirmation_bj.xml | 5 app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationDialog.java | 177 +++++++++++++ app/src/main/res/layout/loading_confirm_input.xml | 138 ++++++++++ app/src/main/res/values/strings.xml | 10 app/src/main/AndroidManifest.xml | 4 app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java | 186 ++++++++++++++ app/src/main/res/values/colors.xml | 2 .idea/misc.xml | 7 app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java | 78 ++++++ app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java | 5 app/src/main/res/drawable/loading_confirmation_edit_bj.xml | 7 app/src/main/res/layout/loading_confirm.xml | 106 ++++++++ app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java | 31 ++ 15 files changed, 757 insertions(+), 9 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 0fa90e5..855ba98 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,7 +3,14 @@ <component name="DesignSurface"> <option name="filePathToZoomLevelMap"> <map> + <entry key="../../../../../layout/custom_preview.xml" value="0.22314814814814815" /> + <entry key="app/src/main/res/drawable/loading_bj.xml" value="0.1205" /> + <entry key="app/src/main/res/drawable/loading_confirmation_edit_bj.xml" value="0.1205" /> <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/loading_confirm.xml" value="0.1" /> + <entry key="app/src/main/res/layout/loading_confirm_input.xml" value="0.10659637451171876" /> </map> </option> </component> diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 01aad1e..0b1b3dd 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,6 +14,7 @@ <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> + <application android:name=".HDLApp" android:allowBackup="true" @@ -27,7 +28,8 @@ android:exported="false" /> <activity android:name=".ui.MyPowerStationActivity" - android:exported="false" /> + android:exported="false" + /> <activity android:name=".ui.HomeLoginActivity" android:exported="false" /> 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 77d9ac2..a027d30 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java @@ -1,13 +1,17 @@ package com.hdl.photovoltaic.ui; +import androidx.annotation.NonNull; import androidx.appcompat.content.res.AppCompatResources; +import android.Manifest; +import android.content.pm.PackageManager; import android.os.Bundle; import android.view.View; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; import com.hdl.photovoltaic.databinding.ActivityMyPowerStationBinding; +import com.hdl.photovoltaic.utils.PermissionUtils; public class MyPowerStationActivity extends CustomBaseActivity { @@ -76,4 +80,5 @@ } } + } \ No newline at end of file diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/device/FastScanActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/device/FastScanActivity.java index 93ddc2f..ba49e66 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/device/FastScanActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/device/FastScanActivity.java @@ -1,8 +1,12 @@ package com.hdl.photovoltaic.ui.device; import androidx.appcompat.content.res.AppCompatResources; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; +import android.Manifest; import android.content.Intent; +import android.content.pm.PackageManager; import android.database.Cursor; import android.graphics.Rect; import android.hardware.Camera; @@ -46,7 +50,7 @@ import java.util.Hashtable; public class FastScanActivity extends CustomBaseActivity implements IZxingActivity, SurfaceHolder.Callback { - private static final String TAG = com.zxing.qrcode.CaptureActivity.class.getSimpleName(); + private static final String TAG = "FastScanActivity"; private final int REQUEST_CODE = 33; private CameraManager cameraManager; private CaptureActivityHandler handler; 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 66cab2e..1b34ca7 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 @@ -1,21 +1,29 @@ package com.hdl.photovoltaic.ui.powerstation; +import android.Manifest; import android.content.Context; import android.content.Intent; +import android.content.pm.PackageManager; import android.hardware.camera2.CameraManager; import android.os.Bundle; import android.util.Log; import android.view.View; +import androidx.annotation.NonNull; +import androidx.core.app.ActivityCompat; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.databinding.FragmentHouseListBinding; import com.hdl.photovoltaic.base.CustomBaseFragment; +import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter; import com.hdl.photovoltaic.ui.bean.HouseListBean; import com.hdl.photovoltaic.ui.device.FastScanActivity; +import com.hdl.photovoltaic.utils.PermissionUtils; +import com.hdl.photovoltaic.widget.ConfirmationDialog; +import com.hdl.photovoltaic.widget.ConfirmationInputDialog; import java.util.ArrayList; import java.util.List; @@ -48,12 +56,17 @@ private void initEvent() { + viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - Intent intent = new Intent(); - intent.setClass(_mActivity, FastScanActivity.class); - startActivity(intent); + String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.CAMERA}); + if (ary.length > 0) { + requestPermissions(ary, PermissionUtils.STATUS_SUCCESS); + } else { + startActivity(FastScanActivity.class); + } + } }); //璁剧疆涓嬫媺绠ご棰滆壊 @@ -91,5 +104,17 @@ } + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + if (requestCode == PermissionUtils.STATUS_SUCCESS) { + for (int i = 0; i < permissions.length; i++) { + if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { + startActivity(FastScanActivity.class); + } + } + } + + } } diff --git a/app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java b/app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java new file mode 100644 index 0000000..c970410 --- /dev/null +++ b/app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java @@ -0,0 +1,78 @@ +package com.hdl.photovoltaic.utils; + +import android.app.Activity; +import android.content.pm.PackageManager; +import android.os.Build; + +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + + +public class PermissionUtils { + + /** + * 鑾峰彇鏉冮檺鎴愬姛 + */ + public static final int STATUS_SUCCESS = 1; + + /** + * 鍙湁activity鎵嶅彲浠ョ敵璇� + * + * @param activity - + * @param strings - + */ + public static void askPermission(Activity activity, String[] strings) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + List<String> newList = new ArrayList<>(); + for (String permission : strings) { + boolean flag = checkPermission(activity, permission); + if (!flag) { + newList.add(permission); + } + } + if (newList.size() > 0) { + ActivityCompat.requestPermissions(activity, newList.toArray(new String[0]), STATUS_SUCCESS); + } + } + } + + /** + * 妫�鏌ヤ竴涓潈闄� + * + * @param activity - + * @param permission - + * @return - + */ + public static boolean checkPermission(Activity activity, String permission) { + //first we need check this Drive has? CAMERA Permission + return ContextCompat.checkSelfPermission(activity, permission) == PackageManager.PERMISSION_GRANTED; + } + + /** + * 妫�鏌ュ涓潈闄� + * + * @param activity - + * @param strings - + * @return - + */ + public static String[] checkPermission(Activity activity, String[] strings) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + List<String> newList = new ArrayList<>(); + for (String permission : strings) { + boolean flag = checkPermission(activity, permission); + if (!flag) { + newList.add(permission); + } + } + return newList.toArray(new String[0]); + } + return new String[]{}; + } + + +} diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationDialog.java new file mode 100644 index 0000000..bd45db1 --- /dev/null +++ b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationDialog.java @@ -0,0 +1,177 @@ +package com.hdl.photovoltaic.widget; + +import android.app.Dialog; +import android.content.Context; +import android.os.Bundle; +import android.text.TextUtils; +import android.view.View; + +import androidx.annotation.NonNull; + +import com.hdl.photovoltaic.R; +import com.hdl.photovoltaic.databinding.LoadingConfirmBinding; + +/** + * 纭妗� + */ +public class ConfirmationDialog extends Dialog { + public ConfirmationDialog(@NonNull Context context) { + super(context, R.style.Custom_AlertDialog); + this.mContext = context; + } + + private final Context mContext; + private onNoOnclickListener noOnclickListener;//鍙栨秷鎸夐挳琚偣鍑讳簡鐨勭洃鍚櫒 + private onYesOnclickListener yesOnclickListener;//纭畾鎸夐挳琚偣鍑讳簡鐨勭洃鍚櫒 + private LoadingConfirmBinding viewBinding; + private String titleStr, contentStr, yesStr, noStr; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + viewBinding = LoadingConfirmBinding.inflate(getLayoutInflater()); + setContentView(viewBinding.getRoot()); +// setCancelable(true);//绯荤粺鍚庨��鍙互鍙栨秷 + //绌虹櫧澶勪笉鑳藉彇娑堝姩鐢� + setCanceledOnTouchOutside(false); + //鍒濆鍖栫晫闈㈡帶浠� + initView(); + //鍒濆鍖栫晫闈㈡暟鎹� + initData(); + //鍒濆鍖栫晫闈㈡帶浠剁殑浜嬩欢 + initEvent(); + + } + + /** + * 鑷畾涔�"鏍囬"鏂囨湰 + * + * @param title 鍐呭 + */ + public void setTitle(String title) { + if (TextUtils.isEmpty(title)) { + return; + } + titleStr = title; + + } + + /** + * 鑷畾涔�"纭"鏂囨湰 + * + * @param confirm 鍐呭 + */ + public void setConfirmation(String confirm) { + if (TextUtils.isEmpty(confirm)) { + return; + } + yesStr = confirm; + + } + + /** + * 鑷畾涔�"鍙栨秷"鏂囨湰 + * + * @param cancel 鍐呭 + */ + public void setCancel(String cancel) { + if (TextUtils.isEmpty(cancel)) { + return; + } + noStr = cancel; + + } + + /** + * 鑷畾涔�"鍐呭"鏂囨湰 + * + * @param content 鍐呭 + */ + public void setContentText(String content) { + if (TextUtils.isEmpty(content)) { + return; + } + contentStr = content; + } + + private void initEvent() { + viewBinding.dialogCancelLy.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (noOnclickListener != null) { + noOnclickListener.Cancel(); + } + } + }); + viewBinding.dialogConfirmLy.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (yesOnclickListener != null) { + yesOnclickListener.Confirm(); + } + } + }); + + + } + + + /** + * 鍒濆鍖栫晫闈㈡帶浠剁殑鏄剧ず鏁版嵁 + */ + private void initData() { + //濡傛灉鐢ㄦ埛鑷畾浜唗itle鍜宮essage + if (!TextUtils.isEmpty(titleStr)) { + viewBinding.loadingConfirmationTitleTv.setText(titleStr); + } + if (!TextUtils.isEmpty(contentStr)) { + viewBinding.loadingConfirmationContentTv.setText(contentStr); + } + //濡傛灉璁剧疆鎸夐挳鏂囧瓧 + if (!TextUtils.isEmpty(yesStr)) { + viewBinding.dialogConfirmTv.setText(yesStr); + } + if (!TextUtils.isEmpty(noStr)) { + viewBinding.dialogCancelTv.setText(noStr); + } + } + + private void initView() { + + + } + + + /** + * 璁剧疆鍙栨秷鎸夐挳鐩戝惉 + * + * @param onNoOnclickListener - + */ + public void setNoOnclickListener(onNoOnclickListener onNoOnclickListener) { + if (onNoOnclickListener != null) { + this.noOnclickListener = onNoOnclickListener; + } + } + + /** + * 璁剧疆纭畾鎸夐挳鐩戝惉 + * + * @param yesOnclickListener - + */ + public void setYesOnclickListener(onYesOnclickListener yesOnclickListener) { + if (yesOnclickListener != null) { + this.yesOnclickListener = yesOnclickListener; + } + + } + + public interface onNoOnclickListener { + void Cancel(); + + } + + public interface onYesOnclickListener { + void Confirm(); + } +} diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java new file mode 100644 index 0000000..b117d45 --- /dev/null +++ b/app/src/main/java/com/hdl/photovoltaic/widget/ConfirmationInputDialog.java @@ -0,0 +1,186 @@ +package com.hdl.photovoltaic.widget; + +import android.app.Dialog; +import android.content.Context; +import android.os.Bundle; +import android.text.TextUtils; +import android.text.method.HideReturnsTransformationMethod; +import android.text.method.PasswordTransformationMethod; +import android.view.View; + +import androidx.annotation.NonNull; +import androidx.appcompat.content.res.AppCompatResources; + +import com.hdl.photovoltaic.R; +import com.hdl.photovoltaic.databinding.LoadingConfirmInputBinding; + +/** + * 杈撳叆纭妗� + */ +public class ConfirmationInputDialog extends Dialog { + + public ConfirmationInputDialog(@NonNull Context context) { + super(context, R.style.Custom_AlertDialog); + this.mContext = context; + } + + private final Context mContext; + private onNoOnclickListener noOnclickListener;//鍙栨秷鎸夐挳琚偣鍑讳簡鐨勭洃鍚櫒 + private onYesOnclickListener yesOnclickListener;//纭畾鎸夐挳琚偣鍑讳簡鐨勭洃鍚櫒 + private LoadingConfirmInputBinding viewBinding; + private String titleStr, yesStr, noStr; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + viewBinding = LoadingConfirmInputBinding.inflate(getLayoutInflater()); + setContentView(viewBinding.getRoot()); +// setCancelable(true);//绯荤粺鍚庨��鍙互鍙栨秷 + //绌虹櫧澶勪笉鑳藉彇娑堝姩鐢� + setCanceledOnTouchOutside(false); + //鍒濆鍖栫晫闈㈡帶浠� + initView(); + //鍒濆鍖栫晫闈㈡暟鎹� + initData(); + //鍒濆鍖栫晫闈㈡帶浠剁殑浜嬩欢 + initEvent(); + + + } + + /** + * 鑷畾涔�"鏍囬"鏂囨湰 + * + * @param title 鍐呭 + */ + public void setTitle(String title) { + if (TextUtils.isEmpty(title)) { + return; + } + titleStr = title; + + } + + /** + * 鑷畾涔�"纭"鏂囨湰 + * + * @param confirm 鍐呭 + */ + public void setConfirmation(String confirm) { + if (TextUtils.isEmpty(confirm)) { + return; + } + yesStr = confirm; + + + } + + /** + * 鑷畾涔�"鍙栨秷"鏂囨湰 + * + * @param cancel 鍐呭 + */ + public void setCancel(String cancel) { + if (TextUtils.isEmpty(cancel)) { + return; + } + noStr = cancel; + + } + + + private void initEvent() { + viewBinding.dialogCancelLy.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (noOnclickListener != null) { + noOnclickListener.Cancel(); + } + } + }); + viewBinding.dialogConfirmLy.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (yesOnclickListener != null) { + yesOnclickListener.Confirm(viewBinding.loadingConfirmationInputEt.getText().toString()); + } + } + }); + + + 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()); + + } + }); + } + + + /** + * 鍒濆鍖栫晫闈㈡帶浠剁殑鏄剧ず鏁版嵁 + */ + private void initData() { + //濡傛灉鐢ㄦ埛鑷畾浜唗itle鍜宮essage + if (!TextUtils.isEmpty(titleStr)) { + viewBinding.loadingConfirmationTitleTv.setText(titleStr); + } + //濡傛灉璁剧疆鎸夐挳鏂囧瓧 + if (!TextUtils.isEmpty(yesStr)) { + viewBinding.dialogConfirmTv.setText(yesStr); + } + if (!TextUtils.isEmpty(noStr)) { + viewBinding.dialogCancelTv.setText(noStr); + } + } + + private void initView() { + + + } + + + /** + * 璁剧疆鍙栨秷鎸夐挳鐩戝惉 + * + * @param onNoOnclickListener - + */ + public void setNoOnclickListener(onNoOnclickListener onNoOnclickListener) { + if (onNoOnclickListener != null) { + this.noOnclickListener = onNoOnclickListener; + } + } + + /** + * 璁剧疆纭畾鎸夐挳鐩戝惉 + * + * @param yesOnclickListener - + */ + public void setYesOnclickListener(onYesOnclickListener yesOnclickListener) { + if (yesOnclickListener != null) { + this.yesOnclickListener = yesOnclickListener; + } + + } + + public interface onNoOnclickListener { + void Cancel(); + + } + + public interface onYesOnclickListener { + void Confirm(String str); + } + +} diff --git a/app/src/main/res/drawable/loading_confirmation_bj.xml b/app/src/main/res/drawable/loading_confirmation_bj.xml new file mode 100644 index 0000000..3dfd634 --- /dev/null +++ b/app/src/main/res/drawable/loading_confirmation_bj.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_FFFFFFFF" /> + <corners android:radius="@dimen/dp_16" /> +</shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/loading_confirmation_edit_bj.xml b/app/src/main/res/drawable/loading_confirmation_edit_bj.xml new file mode 100644 index 0000000..fa1aca7 --- /dev/null +++ b/app/src/main/res/drawable/loading_confirmation_edit_bj.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android"> + <corners android:radius="@dimen/dp_4" /> + <stroke + android:width="0.5dp" + android:color="@color/text_E1E1E1" /> +</shape> \ No newline at end of file diff --git a/app/src/main/res/layout/loading_confirm.xml b/app/src/main/res/layout/loading_confirm.xml new file mode 100644 index 0000000..16fe379 --- /dev/null +++ b/app/src/main/res/layout/loading_confirm.xml @@ -0,0 +1,106 @@ +<?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="match_parent" + android:layout_height="match_parent"> + + <androidx.constraintlayout.widget.ConstraintLayout + android:id="@+id/loading_confirmation_cl" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/dp_48" + android:layout_marginTop="@dimen/dp_20" + android:layout_marginEnd="@dimen/dp_48" + android:layout_marginBottom="@dimen/dp_20" + android:background="@drawable/loading_confirmation_bj" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + <TextView + android:id="@+id/loading_confirmation_title_tv" + android:layout_width="wrap_content" + android:layout_height="@dimen/dp_25" + android:layout_marginStart="@dimen/dp_20" + android:layout_marginTop="@dimen/dp_25" + android:layout_marginEnd="@dimen/dp_20" + android:textColor="@color/text_030D1C" + android:textSize="@dimen/text_18" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + <TextView + android:id="@+id/loading_confirmation_content_tv" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/dp_20" + android:layout_marginTop="@dimen/dp_34" + android:layout_marginEnd="@dimen/dp_20" + android:layout_marginBottom="@dimen/dp_34" + android:singleLine="false" + android:textColor="@color/text_030D1C" + app:layout_constraintBottom_toTopOf="@+id/dialog_confirm_bottom_line_ly" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/loading_confirmation_title_tv" + + /> + + + <LinearLayout + android:id="@+id/dialog_confirm_bottom_line_ly" + android:layout_width="0dp" + android:layout_height="@dimen/dp_52" + android:orientation="horizontal" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent"> + + + <LinearLayout + android:id="@+id/dialog_cancel_ly" + android:layout_width="@dimen/dp_0" + android:layout_height="match_parent" + android:layout_weight="1" + android:gravity="center"> + + <TextView + android:id="@+id/dialog_cancel_tv" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/loading_鍙栨秷" + android:textColor="@color/text_7C8590" + android:textSize="@dimen/text_18" /> + + + </LinearLayout> + + <View + android:layout_width="0.5dp" + android:layout_height="@dimen/dp_23" + android:layout_gravity="center" + android:background="@color/text_E1E1E1" /> + + <LinearLayout + android:id="@+id/dialog_confirm_ly" + android:layout_width="@dimen/dp_0" + android:layout_height="match_parent" + android:layout_weight="1" + android:gravity="center"> + + <TextView + android:id="@+id/dialog_confirm_tv" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/loading_纭" + android:textColor="@color/text_FF245EC3" + android:textSize="@dimen/text_18" /> + </LinearLayout> + </LinearLayout> + + </androidx.constraintlayout.widget.ConstraintLayout> + + +</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/loading_confirm_input.xml b/app/src/main/res/layout/loading_confirm_input.xml new file mode 100644 index 0000000..9a9f89f --- /dev/null +++ b/app/src/main/res/layout/loading_confirm_input.xml @@ -0,0 +1,138 @@ +<?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="match_parent" + android:layout_height="match_parent"> + + <RelativeLayout + android:id="@+id/loading_confirmation_rl" + android:layout_width="@dimen/dp_0" + android:layout_height="225dp" + android:layout_marginStart="@dimen/dp_48" + android:layout_marginEnd="@dimen/dp_48" + android:background="@drawable/loading_confirmation_bj" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + <TextView + android:id="@+id/loading_confirmation_title_tv" + android:layout_width="wrap_content" + android:layout_height="@dimen/dp_25" + android:layout_alignParentTop="true" + android:layout_centerInParent="true" + android:layout_marginStart="@dimen/dp_20" + android:layout_marginTop="@dimen/dp_25" + android:layout_marginEnd="@dimen/dp_20" + android:text="wifi_ssid" + android:textColor="@color/text_030D1C" + android:textSize="@dimen/text_18" /> + + <androidx.constraintlayout.widget.ConstraintLayout + android:id="@+id/loading_confirmation_input_cl" + android:layout_width="match_parent" + android:layout_height="@dimen/dp_50" + android:layout_below="@+id/loading_confirmation_title_tv" + android:layout_marginStart="@dimen/dp_16" + android:layout_marginTop="@dimen/dp_34" + android:layout_marginEnd="@dimen/dp_16" + android:background="@drawable/loading_confirmation_edit_bj" + + > + + <EditText + android:id="@+id/loading_confirmation_input_et" + android:layout_width="0dp" + android:layout_height="@dimen/dp_23" + android:layout_marginEnd="@dimen/dp_40" + android:background="@null" + android:gravity="center_vertical|start" + android:hint="@string/home_login_璇疯緭鍏ュ瘑鐮�" + android:inputType="textPassword" + android:lines="1" + android:maxLines="1" + android:paddingStart="@dimen/dp_16" + android:paddingEnd="@dimen/dp_16" + android:textColor="@color/text_FF000000" + android:textColorHint="@color/text_25000000" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + + /> + + <ImageView + android:id="@+id/loading_confirmation_hide_iv" + android:layout_width="23dp" + android:layout_height="18dp" + android:layout_marginEnd="@dimen/dp_16" + android:src="@drawable/hide" + app:layout_constraintBottom_toBottomOf="@+id/loading_confirmation_input_et" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="@+id/loading_confirmation_input_et" /> + <!--鍔犲ぇ鐐瑰嚮浜嬩欢--> + <TextView + android:id="@+id/loading_confirmation_click_tv" + android:layout_width="0dp" + android:layout_height="match_parent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toEndOf="@+id/loading_confirmation_input_et" + app:layout_constraintTop_toTopOf="parent" /> + </androidx.constraintlayout.widget.ConstraintLayout> + + <LinearLayout + android:id="@+id/dialog_confirm_bottom_line_ly" + android:layout_width="match_parent" + android:layout_height="@dimen/dp_52" + android:layout_alignParentBottom="true" + android:orientation="horizontal"> + + + <LinearLayout + android:id="@+id/dialog_cancel_ly" + android:layout_width="@dimen/dp_0" + android:layout_height="match_parent" + android:layout_weight="1" + android:gravity="center"> + + <TextView + android:id="@+id/dialog_cancel_tv" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/loading_鍙栨秷" + android:textColor="@color/text_7C8590" + android:textSize="@dimen/text_18" /> + + + </LinearLayout> + + <View + android:layout_width="0.5dp" + android:layout_height="@dimen/dp_23" + android:layout_gravity="center" + android:background="@color/text_E1E1E1" /> + + <LinearLayout + android:id="@+id/dialog_confirm_ly" + android:layout_width="@dimen/dp_0" + android:layout_height="match_parent" + android:layout_weight="1" + android:gravity="center"> + + <TextView + android:id="@+id/dialog_confirm_tv" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/loading_纭" + android:textColor="@color/text_FF245EC3" + android:textSize="@dimen/text_18" /> + </LinearLayout> + </LinearLayout> + + </RelativeLayout> + + +</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 57ebb68..8b1fadc 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -32,5 +32,7 @@ <color name="text_CBCDD1">#CBCDD1</color>/ <color name="text_FF245EC3">#FF245EC3</color># <color name="text_636363">#636363</color> + <color name="text_7C8590">#7C8590</color> + <color name="text_030D1C">#030D1C</color> </resources> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d8a58e0..f78ebd0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -21,7 +21,7 @@ <string name="home_login_娉ㄥ唽">娉ㄥ唽</string> <string name="home_login_蹇樿瀵嗙爜">蹇樿瀵嗙爜</string> <string name="home_login_鐧诲綍">鐧诲綍</string> - <string name="home_login_鐧诲綍涓�">鐧诲綍涓�...</string> + <string name="home_login_鐧诲綍涓�">鐧诲綍涓��</string> <string name="home_login_浣撻獙鐢电珯">浣撻獙鐢电珯</string> <string name="home_login_鍚屾剰_鏈嶅姟鍗忚">鍚屾剰銆婃湇鍔″崗璁�嬪拰銆婄敤鎴蜂俊鎭繚鎶よ瀹氥��</string> <string name="home_login_error_璐﹀彿涓嶈兘涓虹┖">璐﹀彿涓嶈兘涓虹┖.</string> @@ -43,8 +43,10 @@ <string name="my_power_station_绂荤嚎">绂荤嚎</string> <string name="my_power_station_鏁呴殰">鏁呴殰</string> <string name="my_power_station_杩愯">杩愯</string> + + <!--璁惧--> <string name="device_鎵嬪姩杩炴帴">鎵嬪姩杩炴帴</string> - <string name="device_鍔犺浇涓�">鍔犺浇涓�...</string> + <string name="device_鍔犺浇涓�">鍔犺浇涓��</string> <!--鎴戠殑--> @@ -52,5 +54,9 @@ <string name="me_璁剧疆">璁剧疆</string> <string name="me_鍏充簬">鍏充簬</string> + <!--寮规--> + <string name="loading_鍙栨秷">鍙栨秷</string> + <string name="loading_纭">纭</string> + </resources> \ No newline at end of file diff --git a/third-zxing/build.gradle b/third-zxing/build.gradle index fd81dd7..2961ed2 100644 --- a/third-zxing/build.gradle +++ b/third-zxing/build.gradle @@ -39,7 +39,7 @@ exclude group: 'com.android.support', module: 'support-annotations' }) testImplementation 'junit:junit:4.12' - implementation 'com.android.support:support-annotations:28.0.0' + api 'com.android.support:support-annotations:28.0.0' // api 'com.android.support:appcompat-v7:28.0.0' - implementation 'androidx.appcompat:appcompat:1.3.0' + api 'androidx.appcompat:appcompat:1.3.0' } -- Gitblit v1.8.0