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