From 12d6db5780d8a2121a3bef2d58bf897b24ff552a Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 12 六月 2024 15:54:29 +0800
Subject: [PATCH] Merge branch 'dev'

---
 app/src/main/java/com/hdl/photovoltaic/widget/BTypeTitleListDialog.java |  118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 118 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/BTypeTitleListDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/BTypeTitleListDialog.java
new file mode 100644
index 0000000..8668333
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/BTypeTitleListDialog.java
@@ -0,0 +1,118 @@
+package com.hdl.photovoltaic.widget;
+
+import android.annotation.SuppressLint;
+import android.app.Dialog;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.LinearLayoutManager;
+
+import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.base.BaseDialog;
+import com.hdl.photovoltaic.databinding.DialogTypeTitleListBBinding;
+import com.hdl.photovoltaic.widget.adapter.TypeListDialogAdapter;
+
+import java.util.List;
+
+public class BTypeTitleListDialog extends BaseDialog {
+    private OnClickListener mOnClickListener;
+    private DialogTypeTitleListBBinding viewBinding;
+
+    private TypeListDialogAdapter typeListDialogAdapter;
+
+    private Context mContext;
+    String mSelectType;
+
+    private List<String> mList;
+
+    public BTypeTitleListDialog(@NonNull Context context, List<String> list,String selectType) {
+        super(context, R.style.Custom_Dialog);
+        this.mContext = context;
+        this.mList = list;
+        this.mSelectType=selectType;
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        viewBinding = DialogTypeTitleListBBinding.inflate(getLayoutInflater());
+        setContentView(viewBinding.getRoot());
+        setDialogTouchOutsideCloseable(this);
+        LinearLayoutManager linearLayout = new LinearLayoutManager(mContext);
+        typeListDialogAdapter = new TypeListDialogAdapter(this.mList, mContext,this.mSelectType);
+        viewBinding.typeListRl.setLayoutManager(linearLayout);
+        viewBinding.typeListRl.setAdapter(typeListDialogAdapter);
+        typeListDialogAdapter.setItemOnclickListener(new TypeListDialogAdapter.OnclickListener() {
+            @Override
+            public void onClick(int position, String title) {
+                dismiss();
+                if (mOnClickListener != null) {
+                    mOnClickListener.onClick(position, title);
+                }
+            }
+        });
+    }
+
+    @Override
+    protected void onStart() {
+        super.onStart();
+//        // 鑾峰彇绐楀彛瀵硅薄
+//        Window dialogWindow = this.getWindow();
+//        if (dialogWindow != null) {
+//            // 鑾峰彇瀵硅瘽妗嗗綋鍓嶇殑鍙傛暟鍊�
+//            WindowManager.LayoutParams p = dialogWindow.getAttributes();
+//            p.width = LinearLayout.LayoutParams.MATCH_PARENT;
+//            p.height = LinearLayout.LayoutParams.WRAP_CONTENT;
+////            p.dimAmount = 0.6f;
+//            dialogWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+//            p.gravity = Gravity.BOTTOM;
+//            p.y = DensityUtils.dip2px(mContext, 352);
+////            //杩欓噷璁剧疆鐨勫楂樹紭鍏堢骇楂樹簬XML涓殑甯冨眬璁剧疆
+////            if (this.enumBoxType == BoxType.PhotoAlbumBox) {
+////                p.gravity = Gravity.BOTTOM;
+////            } else if (this.enumBoxType == BoxType.FlashingBox) {
+////                p.dimAmount = 0f;
+////            }
+//            // 璁剧疆鍒板睘鎬ч厤缃腑
+//            dialogWindow.setAttributes(p);
+//        }
+//        setDialogTouchOutsideCloseable(this);
+
+    }
+
+    @SuppressLint("ClickableViewAccessibility")
+    public void setDialogTouchOutsideCloseable(Dialog dialog) {
+        viewBinding.typeParentCl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                int top = viewBinding.dialogParentCl.getTop();
+                int left = viewBinding.dialogParentCl.getLeft();
+                int bottom = viewBinding.dialogParentCl.getBottom();
+                int right = viewBinding.dialogParentCl.getRight();
+                int y = (int) v.getY();
+                int x = (int) v.getX();
+                if (top < y && y < bottom) {
+                } else {
+                    dismiss();
+                }
+                if (left < x && x < right) {
+
+                } else {
+                    dismiss();
+                }
+
+            }
+        });
+    }
+
+    public void setOnListener(OnClickListener onClickListener) {
+        this.mOnClickListener = onClickListener;
+    }
+
+
+    public interface OnClickListener {
+        void onClick(int position, String title);
+    }
+}

--
Gitblit v1.8.0