From 1394ed5e139a55967b68f637b086f30017c386e2 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期一, 04 十二月 2023 14:34:33 +0800
Subject: [PATCH] 2023年12月04日14:34:17

---
 app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java |   47 ++++++++++++++++++++++++++++-------------------
 1 files changed, 28 insertions(+), 19 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java
index cd25868..0443c67 100644
--- a/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java
@@ -3,6 +3,8 @@
 import android.app.Dialog;
 import android.content.Context;
 import android.content.Intent;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
 import android.os.Bundle;
 import android.view.Gravity;
 import android.view.MotionEvent;
@@ -10,6 +12,7 @@
 import android.view.ViewGroup;
 import android.view.Window;
 import android.view.WindowManager;
+import android.widget.LinearLayout;
 
 import androidx.annotation.NonNull;
 import androidx.recyclerview.widget.LinearLayoutManager;
@@ -35,7 +38,7 @@
 
     private ListDialogAdapter listDialogAdapter;
     private final Context mContext;
-    private List<ListDialogAdapter.DialogItemData> list;
+    private List<LanguageAdapter.ItemData> list;
 
     private ListDialogAdapter.OnclickListener itemOnclickListener;//鐐瑰嚮浜嗙殑鐩戝惉鍣�
 
@@ -45,11 +48,28 @@
     }
 
     @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.gravity = Gravity.TOP;
+            // 璁剧疆鍒板睘鎬ч厤缃腑
+            dialogWindow.setAttributes(p);
+        }
+    }
+
+    @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         viewBinding = DialogListBinding.inflate(getLayoutInflater());
         setContentView(viewBinding.getRoot());
-        setDialogTouchOutsideCloseable(this);
+        this.setCanceledOnTouchOutside(true);
+//        setDialogTouchOutsideCloseable(this);
         initData();
         LinearLayoutManager linearLayout = new LinearLayoutManager(mContext);
         listDialogAdapter = new ListDialogAdapter(this.list, mContext);
@@ -57,9 +77,9 @@
         viewBinding.logicRcv.setAdapter(listDialogAdapter);
         listDialogAdapter.setItemOnclickListener(new ListDialogAdapter.OnclickListener() {
             @Override
-            public void onClick(int position, ListDialogAdapter.DialogItemData itemData) {
+            public void onClick(int position, LanguageAdapter.ItemData itemData) {
                 for (int i = 0; i < list.size(); i++) {
-                    ListDialogAdapter.DialogItemData data = list.get(i);
+                    LanguageAdapter.ItemData data = list.get(i);
                     data.setState(false);
                 }
                 list.get(position).setState(true);
@@ -75,20 +95,9 @@
     }
 
     private void initData() {
-        list = new ArrayList<>();
-        ListDialogAdapter.DialogItemData zh = new ListDialogAdapter.DialogItemData();
-        zh.setState(false);
-        zh.setTitle("绠�浣撲腑鏂�");
-        zh.setLanguage(LocalManageUtil.zh);
-        list.add(zh);
-        ListDialogAdapter.DialogItemData en = new ListDialogAdapter.DialogItemData();
-        en.setState(false);
-        en.setTitle("English");
-        en.setLanguage(LocalManageUtil.en);
-        list.add(en);
-
+        list = LocalManageUtil.getLanguageList();
         for (int i = 0; i < list.size(); i++) {
-            ListDialogAdapter.DialogItemData itemData = list.get(i);
+            LanguageAdapter.ItemData itemData = list.get(i);
             if (itemData.getLanguage().equals(UserConfigManage.getInstance().getCurrentAppLanguage())) {
                 //鍒濆鍖栦箣鍓嶇姸鎬�
                 itemData.setState(true);
@@ -102,7 +111,7 @@
      * @param position 绱㈠紩鍊�
      * @param itemData 閫変腑鏁版嵁
      */
-    private void languageSelectionDialog(int position, ListDialogAdapter.DialogItemData itemData) {
+    private void languageSelectionDialog(int position, LanguageAdapter.ItemData itemData) {
         ConfirmationCancelDialog dialog = new ConfirmationCancelDialog(this.mContext);
         dialog.setTitle(this.mContext.getString(R.string.loading_title_tip));
         dialog.setContent(this.mContext.getString(R.string.loading_app_restart));
@@ -130,7 +139,7 @@
         });
     }
 
-    //瑙e喅dialog.setCanceledOnTouchOutside(true) 涓嶇敓鏁堥棶棰�
+
     public void setDialogTouchOutsideCloseable(Dialog dialog) {
         viewBinding.getRoot().setOnTouchListener(new View.OnTouchListener() {
             @Override

--
Gitblit v1.8.0