From e6014ef123350d5c0cadabe9c18e26b3d5a3c729 Mon Sep 17 00:00:00 2001
From: guoshen <3129367635@qq.com>
Date: 星期六, 29 六月 2024 15:41:25 +0800
Subject: [PATCH] Revert "Initial commit"
---
app/src/main/java/com/application/zhangshi_app_android/widget/HomeMindMapLayout.java | 76 ++++++++------------------------------
1 files changed, 16 insertions(+), 60 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 272cfe9..19578f1 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,18 +72,25 @@
private void setRootMemberReal(HomeRootBean root) {
this.rootMember = root;
- // 娓呯┖viewMap
- viewMap.clear();
- if (rootMember != null) { // 缁樺埗鏍硅妭鐐癸紝鍦ㄧ珫鐩存柟鍚戜笂灞呬腑
+ if (rootMember != null) { // 缁樺埗鏍硅妭鐐�
if (rootMember.getSpouse() == null){
- rootNode = new SimpleNode(rootMember);
+ rootNode = new SimpleNode(getContext(),rootMember);
}else {
- rootNode = new DoubleNode(rootMember);
+ rootNode = new DoubleNode(getContext(),rootMember);
}
rootNode.setPosition(padding,padding);
//鎶婃墍鏈夎妭鐐圭殑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,boolean isFamily);
+ }
}
--
Gitblit v1.9.1