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/ui/home/HomeFragment.java |  122 ++++++++++++++++++++++++----------------
 1 files changed, 73 insertions(+), 49 deletions(-)

diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragment.java b/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragment.java
index ed40d97..9123e90 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragment.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragment.java
@@ -1,29 +1,35 @@
 package com.application.zhangshi_app_android.ui.home;
 
+import android.annotation.SuppressLint;
 import android.graphics.drawable.ColorDrawable;
 import android.os.Bundle;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.PopupWindow;
 
-import com.android.app_base.base.view.BaseFragment;
-import com.android.app_base.widget.LinearItemDecoration;
+import androidx.databinding.DataBindingUtil;
+import androidx.lifecycle.Observer;
+
+import com.android.app_base.manager.AppManager;
+import com.android.app_base.utils.ScreenSizeUtils;
 import com.application.zhangshi_app_android.BR;
 import com.application.zhangshi_app_android.R;
-import com.application.zhangshi_app_android.adapter.HomeMemberAdapter;
-import com.application.zhangshi_app_android.bean.HomeMemberBean;
+import com.application.zhangshi_app_android.bean.HomeRootBean;
 import com.application.zhangshi_app_android.databinding.FragmentHomeBinding;
-import com.hjq.bar.TitleBar;
+import com.application.zhangshi_app_android.databinding.PopBasicInformationDoubleBinding;
+import com.application.zhangshi_app_android.databinding.PopBasicInformationSingleBinding;
+import com.application.zhangshi_app_android.ui.DLBaseFragment;
+import com.application.zhangshi_app_android.widget.HomeMindMapLayout;
+
+import java.util.List;
 
 /**
  * @author Ljj
  * @date 2023.3.15
  * @desc 棣栭〉 Fragment
  */
-public class HomeFragment extends BaseFragment<FragmentHomeBinding,HomeFragmentViewModel> {
-    private PopupWindow mPopupWindow;
-    private HomeMemberAdapter homeMemberAdapter;
-
+public class HomeFragment extends DLBaseFragment<FragmentHomeBinding,HomeFragmentViewModel> {
+    private PopupWindow mOperatePopupWindow;
     public HomeFragment() {
     }
 
@@ -49,35 +55,76 @@
 
     }
 
+    @SuppressLint("ClickableViewAccessibility")
     @Override
     protected void initView() {
-        mPopupWindow = new PopupWindow(getSelfActivity());
-        mPopupWindow.setContentView(View.inflate(getSelfActivity(),R.layout.pop_basic_information,null));
-        mPopupWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
-        mPopupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
-        mPopupWindow.setBackgroundDrawable(new ColorDrawable(0x0000));
-        mPopupWindow.setAnimationStyle(com.android.app_base.R.style.pop_info);
-        mPopupWindow.setFocusable(true);
-        mPopupWindow.setTouchable(true);
-        mPopupWindow.setOutsideTouchable(true);
+        mOperatePopupWindow = initPopUpWindow(View.inflate(getSelfActivity(),R.layout.pop_operate_home_root_net,null));
+        binding.ivOperate.setOnClickListener(v -> {
+            mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(getSelfActivity(),120) +binding.ivOperate.getWidth(),0);
+        });
+        mOperatePopupWindow.getContentView().findViewById(R.id.tv_family).setOnClickListener(v -> {
+            AppManager.getAppManager().startActivity(GenealogyActivity.class);
+            mOperatePopupWindow.dismiss();
+        });
+        binding.scrollHomeMindMapLayout.setOnItemClickListener(new HomeMindMapLayout.OnItemClickListener() {
+            @Override
+            public void onItemClick(View view, HomeRootBean bean) {
+                View contentView;
+                if (bean.getSpouse()!=null) {
+                    bean.getSpouse().setSpouse(bean);
+                    PopBasicInformationDoubleBinding binding= DataBindingUtil.inflate(getLayoutInflater(),R.layout.pop_basic_information_double,null,false);
+                    binding.setSelfBean(bean);
+                    binding.setSpouseBean(bean.getSpouse());
+                    contentView = binding.getRoot();
+                }else {
+                    PopBasicInformationSingleBinding binding = DataBindingUtil.inflate(getLayoutInflater(),R.layout.pop_basic_information_single,null,false);
+                    binding.setSelfBean(bean);
+                    contentView = binding.getRoot();
+                }
+                PopupWindow popupWindow = new PopupWindow();
+                // 璁剧疆甯冨眬鏂囦欢
+                popupWindow.setContentView(contentView);
+                // 涓轰簡閬垮厤閮ㄥ垎鏈哄瀷涓嶆樉绀猴紝闇�瑕侀噸鏂拌缃竴涓嬪楂�
+                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_info);
+                // 璁剧疆pop鑾峰彇鐒︾偣锛屽鏋滀负false鐐瑰嚮杩斿洖鎸夐挳浼氶��鍑哄綋鍓岮ctivity锛屽鏋減op涓湁Editor鐨勮瘽锛宖ocusable蹇呴』瑕佷负true
+                popupWindow.setFocusable(true);
+                // 璁剧疆pop鍙偣鍑伙紝涓篺alse鐐瑰嚮浜嬩欢鏃犳晥锛岄粯璁や负true
+                popupWindow.setTouchable(true);
+                // 璁剧疆鐐瑰嚮pop澶栦晶娑堝け锛岄粯璁や负false锛涘湪focusable涓簍rue鏃剁偣鍑诲渚у缁堟秷澶�
+                popupWindow.setOutsideTouchable(false);
 
-        homeMemberAdapter = new HomeMemberAdapter(getSelfActivity());
-        LinearItemDecoration itemDecoration = new LinearItemDecoration();
-        itemDecoration.setBottomSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_8));
-        itemDecoration.setHorizontalSpace((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
-        itemDecoration.setFirstTop((int) getResources().getDimension(com.android.app_base.R.dimen.dp_20));
-        binding.rvHomeMember.addItemDecoration(itemDecoration);
-        binding.rvHomeMember.setAdapter(homeMemberAdapter);
+
+                popupWindow.setHeight(binding.zoomLayout.getHeight());
+                popupWindow.setWidth(binding.zoomLayout.getWidth());
+                popupWindow.showAsDropDown(binding.titleBar,0,0);
+            }
+        });
     }
+
+
 
     @Override
     protected void initData() {
-
+        viewModel.getHomeRootBeanList();
     }
 
     @Override
     protected void initLiveDataObserve() {
 
+        viewModel.getHomeRootBeanLiveData().observe(this, new Observer<List<HomeRootBean>>() {
+            @Override
+            public void onChanged(List<HomeRootBean> homeRootBeans) {
+                if (homeRootBeans == null || homeRootBeans.size() == 0) {
+                    return;
+                }
+                binding.scrollHomeMindMapLayout.setRootMember(homeRootBeans.get(0));
+            }
+        });
     }
 
     @Override
@@ -85,27 +132,4 @@
         return true;
     }
 
-    private boolean isShow = true;
-    @Override
-    public void onLeftClick(TitleBar titleBar) {
-        if (isShow) {
-
-            mPopupWindow.setHeight(binding.treeView.getHeight());
-            mPopupWindow.showAsDropDown(binding.titleBar,0,0);
-            isShow = false;
-        }else {
-            binding.rvHomeMember.setVisibility(View.VISIBLE);
-            binding.treeView.setVisibility(View.GONE);
-            binding.layoutHomeRootNet.setVisibility(View.GONE);
-            homeMemberAdapter.addItem(new HomeMemberBean("绗竴浠�","寮犱笁","鐢�",null,"2023.09.09","2023.09.09","12345678901","寮犳皬鍏徃","寮犲洓"));
-            homeMemberAdapter.addItem(new HomeMemberBean("绗竴浠�","寮犱笁","鐢�",null,"2023.09.09","2023.09.09","12345678901","寮犳皬鍏徃","寮犲洓"));
-            homeMemberAdapter.addItem(new HomeMemberBean("绗竴浠�","寮犱笁","鐢�",null,"2023.09.09","2023.09.09","12345678901","寮犳皬鍏徃","寮犲洓"));
-            homeMemberAdapter.addItem(new HomeMemberBean("绗竴浠�","寮犱笁","鐢�",null,"2023.09.09","2023.09.09","12345678901","寮犳皬鍏徃","寮犲洓"));
-            homeMemberAdapter.addItem(new HomeMemberBean("绗竴浠�","寮犱笁","鐢�",null,"2023.09.09","2023.09.09","12345678901","寮犳皬鍏徃","寮犲洓"));
-            homeMemberAdapter.addItem(new HomeMemberBean("绗竴浠�","寮犱笁","鐢�",null,"2023.09.09","2023.09.09","12345678901","寮犳皬鍏徃","寮犲洓"));
-            isShow = true;
-        }
-
-
-    }
 }
\ No newline at end of file

--
Gitblit v1.9.1