From 454a84caa83c4ebc1b4c422f10166bddfb0e03ec Mon Sep 17 00:00:00 2001
From: Linjiajia <319408893@qq.com>
Date: 星期四, 21 九月 2023 21:53:30 +0800
Subject: [PATCH] 1、修复添加按钮消失问题\n2、修改家族导图\n3、新增便捷添加功能\n4、新增修改头像功能\n5、个人财产增加搜索条件

---
 app/src/main/java/com/application/zhangshi_app_android/widget/HomeMindMapLayout.java |   70 ++++++----------------------------
 1 files changed, 13 insertions(+), 57 deletions(-)

diff --git a/app/src/main/java/com/application/zhangshi_app_android/widget/HomeMindMapLayout.java b/app/src/main/java/com/application/zhangshi_app_android/widget/HomeMindMapLayout.java
index b2b274d..400e797 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/widget/HomeMindMapLayout.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/widget/HomeMindMapLayout.java
@@ -34,16 +34,10 @@
     private Paint linePaint;
     private HomeRootBean rootMember;// 鏍硅妭鐐规垚鍛�
     private Node rootNode;// 鏍硅妭鐐�
-    private Map<HomeRootBean, View> viewMap = new HashMap<>();// 瀛樻斁鎵�鏈夎妭鐐圭殑view,璁板綍鑺傜偣鐨剉iew鏄惁宸茶addView
-
     private int width, height;// 褰撳墠甯冨眬鐨勫楂�
     private int minHeight, minWidth;// 褰撳墠甯冨眬鐨勬渶灏忓楂�
     private int padding = 100;//鍐呭鐭╁舰 涓� FrameLayout鐭╁舰 鐨刾adding
-    private static final int spouseMargin = ScreenSizeUtils.dip2px(15);// 閰嶅伓涓や釜view涔嬮棿鐨勯棿闅�
-    private final int verticalMargin = ScreenSizeUtils.dip2px(20);//    //鑺傜偣绔栫洿鏂瑰悜闂磋窛
-
-    private static final int pathLength = ScreenSizeUtils.dip2px(20);// 绾挎潯闀垮害
-
+    private OnItemClickListener onItemClickListener;// 鐐瑰嚮浜嬩欢
     public HomeMindMapLayout(@NonNull Context context) {
         this(context, null);
     }
@@ -78,8 +72,6 @@
 
     private void setRootMemberReal(HomeRootBean root) {
         this.rootMember = root;
-        // 娓呯┖viewMap
-        viewMap.clear();
         if (rootMember != null) { // 缁樺埗鏍硅妭鐐癸紝鍦ㄧ珫鐩存柟鍚戜笂灞呬腑
             if (rootMember.getSpouse() == null){
                 rootNode = new SimpleNode(getContext(),rootMember);
@@ -90,6 +82,15 @@
             //鎶婃墍鏈夎妭鐐圭殑view娣诲姞鍒皏iewGroup涓�
             addNodeView(rootNode);
             requestLayout();
+            if (onItemClickListener != null){
+                rootNode.setOnItemClickListener(onItemClickListener);
+            }
+        }
+    }
+    public void setOnItemClickListener(OnItemClickListener listener){
+        this.onItemClickListener = listener;
+        if (rootNode != null){
+            rootNode.setOnItemClickListener(onItemClickListener);
         }
     }
 
@@ -126,7 +127,6 @@
             }
         }
         setMeasuredDimension(Math.max(minWidth,width),Math.max(minHeight,height));
-
     }
 
     @Override
@@ -167,57 +167,13 @@
 
     }
 
-    private ImageView createExpandIconView() {
-        ImageView expandView = new ImageView(getContext());
-        FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(pathLength,pathLength);
-        expandView.setLayoutParams(params);
-        int widthMeasureSpec = MeasureSpec.makeMeasureSpec(pathLength, MeasureSpec.EXACTLY);
-        int heightMeasureSpec = MeasureSpec.makeMeasureSpec(pathLength, MeasureSpec.EXACTLY);
-        expandView.measure(widthMeasureSpec,heightMeasureSpec);
-        return expandView;
-    }
-
-    private View createItemView(HomeRootBean member) {
-        // 浣跨敤甯冨眬濉厖鍣ㄥ姞杞借妭鐐瑰竷灞�
-        LayoutInflater inflater = LayoutInflater.from(getContext());
-        View familyMemberView = inflater.inflate(R.layout.item_family_member, null, false);
-
-        familyMemberView.measure(MeasureSpec.makeMeasureSpec((1 << 30) - 1, MeasureSpec.AT_MOST), MeasureSpec.makeMeasureSpec((1 << 30) - 1, MeasureSpec.AT_MOST));
-        // 鑾峰彇娴嬮噺鍚庣殑瀹介珮
-        int width = familyMemberView.getMeasuredWidth();
-        int height = familyMemberView.getMeasuredHeight();
-
-        // 娣诲姞鍒扮埗甯冨眬鍓嶅啀娆℃祴閲�
-        familyMemberView.measure(
-                View.MeasureSpec.makeMeasureSpec(width, View.MeasureSpec.EXACTLY),
-                View.MeasureSpec.makeMeasureSpec(height, View.MeasureSpec.EXACTLY)
-        );
-
-        if (member == null) {
-            return familyMemberView;
-        }
-
-        // 鑾峰彇甯冨眬涓殑缁勪欢
-        TextView tv_generation = familyMemberView.findViewById(R.id.tv_generation);
-        ImageFilterView iv_avatar = familyMemberView.findViewById(R.id.iv_avatar);
-        TextView tv_name = familyMemberView.findViewById(R.id.tv_name);
-
-        // 璁剧疆鑺傜偣鍐呭
-        tv_generation.setText(String.valueOf(member.getIdentity()));
-        if (member.getImg() != null) {
-            GlideUtil.loadImage(member.getImg(), iv_avatar);
-        }
-        tv_name.setText(member.getNickName());
-
-        return familyMemberView;
-    }
-
     public void setMinSize(int minWidth, int minHeight) {
         this.minWidth = minWidth;
         this.minHeight = minHeight;
     }
 
-
-
+    public interface OnItemClickListener{
+        void onItemClick(View view,HomeRootBean member);
+    }
 
 }

--
Gitblit v1.9.1