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