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/Node.java | 62 +++++++++++++----------------- 1 files changed, 27 insertions(+), 35 deletions(-) diff --git a/app/src/main/java/com/application/zhangshi_app_android/widget/Node.java b/app/src/main/java/com/application/zhangshi_app_android/widget/Node.java index 1f4276f..71c81ad 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/widget/Node.java +++ b/app/src/main/java/com/application/zhangshi_app_android/widget/Node.java @@ -1,27 +1,23 @@ package com.application.zhangshi_app_android.widget; import android.content.Context; +import android.graphics.Color; import android.graphics.Path; -import android.graphics.drawable.ColorDrawable; -import android.view.Gravity; +import android.graphics.Typeface; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.ImageView; -import android.widget.PopupWindow; import android.widget.TextView; import androidx.constraintlayout.utils.widget.ImageFilterView; -import androidx.databinding.DataBindingUtil; import com.android.app_base.manager.AppManager; import com.android.app_base.utils.GlideUtil; import com.android.app_base.utils.ScreenSizeUtils; import com.application.zhangshi_app_android.R; import com.application.zhangshi_app_android.bean.HomeRootBean; -import com.application.zhangshi_app_android.databinding.PopBasicInformationBinding; -import com.otaliastudios.zoom.ZoomLayout; import java.util.ArrayList; import java.util.LinkedList; @@ -38,7 +34,7 @@ protected HomeRootBean member;//鎴愬憳 protected Node parent;//鐖惰妭鐐� protected final List<Node> children = new ArrayList<>(); //瀛愯妭鐐� - + protected HomeMindMapLayout.OnItemClickListener onItemClickListener; protected static final int pathLength = ScreenSizeUtils.dip2px(20);// 杩炵嚎鐨勪竴鑸暱搴� protected static final int cornerRadius = ScreenSizeUtils.dip2px(5); // 杩炵嚎鎷愯 鍦嗚鍗婂緞 @@ -69,7 +65,6 @@ if (member != null) { // 閫掑綊鍒涘缓瀛愯妭鐐� if (member.getChildList() != null && member.getChildList().size() > 0) { - // 鎵�鏈夊彲瑙佺殑瀛愯妭鐐归渶瑕佺殑瀹介珮鎬诲拰 for (HomeRootBean child : member.getChildList()) { // 鏍规嵁鏄惁鏈夐厤鍋跺垱寤轰笉鍚岀殑鑺傜偣 if (child != null) { @@ -196,7 +191,13 @@ protected abstract void setViewPosition(int x, int centerY); protected abstract void setForkYList(List<Integer> yList); - protected View createItemView(HomeRootBean bean) { + /** + * 鍒涘缓鑺傜偣item瑙嗗浘 + * @param bean 鑺傜偣鏁版嵁 + * @param isFamily 鏄惁鏄湰瀹舵垚鍛� + * @return 鑺傜偣item瑙嗗浘 + */ + protected View createItemView(HomeRootBean bean,boolean isFamily){ // 浣跨敤甯冨眬濉厖鍣ㄥ姞杞借妭鐐瑰竷灞� LayoutInflater inflater = LayoutInflater.from(context); View familyMemberView = inflater.inflate(R.layout.item_family_member, null, false); @@ -215,6 +216,10 @@ ImageFilterView iv_avatar = familyMemberView.findViewById(R.id.iv_avatar); TextView tv_name = familyMemberView.findViewById(R.id.tv_name); + if (!isFamily){ + tv_name.setTextColor(Color.parseColor("#FF8296C5")); + tv_name.setTypeface(Typeface.DEFAULT); + } // 璁剧疆鑺傜偣鍐呭 tv_generation.setText(String.valueOf(bean.getIdentity())); if (bean.getImg() != null) { @@ -225,30 +230,9 @@ familyMemberView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - PopBasicInformationBinding mBinding= DataBindingUtil.inflate(inflater,R.layout.pop_basic_information,null,false); - PopupWindow popupWindow = new PopupWindow(); - // 璁剧疆甯冨眬鏂囦欢 - popupWindow.setContentView(mBinding.getRoot()); - // 涓轰簡閬垮厤閮ㄥ垎鏈哄瀷涓嶆樉绀猴紝闇�瑕侀噸鏂拌缃竴涓嬪楂� - popupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT); - popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT); - // 璁剧疆pop閫忔槑鏁堟灉 - popupWindow.setBackgroundDrawable(new ColorDrawable(0x0000)); - // 璁剧疆pop鍑哄叆鍔ㄧ敾 - popupWindow.setAnimationStyle(com.android.app_base.R.style.pop_operate); - // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true - popupWindow.setFocusable(true); - // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true - popupWindow.setTouchable(true); - // 璁剧疆鐐瑰嚮pop澶栦晶娑堝け锛岄粯璁や负false锛涘湪focusable涓簍rue鏃剁偣鍑诲渚у缁堟秷澶� - popupWindow.setOutsideTouchable(false); - - mBinding.setSelfBean(bean); - mBinding.setSpouseBean(bean.getSpouse()); - ZoomLayout zoomLayout = (ZoomLayout) familyMemberView.getParent().getParent(); - popupWindow.setHeight(zoomLayout.getHeight()); - popupWindow.setWidth(zoomLayout.getWidth()); - popupWindow.showAtLocation((View) familyMemberView.getParent().getParent(), Gravity.BOTTOM,0,0); + if (onItemClickListener != null){ + onItemClickListener.onItemClick(familyMemberView,bean); + } } }); return familyMemberView; @@ -485,12 +469,12 @@ // 鑾峰彇 姣忎釜 itemView 鐨勫搴� public int getItemViewWidth(){ - View itemView = createItemView(null); + View itemView = createItemView(null,false); return itemView.getMeasuredWidth(); } // 鑾峰彇 姣忎釜 itemView 鐨勯珮搴� public int getItemViewHeight(){ - View itemView = createItemView(null); + View itemView = createItemView(null,false); return itemView.getMeasuredHeight(); } //鑾峰彇灞曞紑鎸夐挳鐨勫搴� @@ -503,4 +487,12 @@ public int getViewWidth(){ return viewBottom - viewTop; } + + public void setOnItemClickListener(HomeMindMapLayout.OnItemClickListener onItemClickListener) { + this.onItemClickListener = onItemClickListener; + //鎵�鏈夌殑瀛愯妭鐐逛篃璁剧疆 + for (Node child : children) { + child.setOnItemClickListener(onItemClickListener); + } + } } -- Gitblit v1.9.1