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_base/src/main/java/com/android/app_base/base/view/BaseFragment.java | 9 app/src/main/java/com/application/zhangshi_app_android/widget/Node.java | 62 app/src/main/res/layout/fragment_personal_center.xml | 10 app/src/main/res/layout/fragment_function.xml | 18 app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivityViewModel.java | 11 app/src/main/res/layout/pop_basic_information_single.xml | 761 ++++++++++++ app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragment.java | 189 +++ app/src/main/res/layout/pop_operate_home_root_net.xml | 71 - app/src/main/res/drawable-xxhdpi/bg_home_root.png | 0 app/src/main/res/drawable-xhdpi/ic_camera.png | 0 app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseFragment.java | 25 app/src/main/res/layout/activity_little_doctor_detail.xml | 2 app/src/main/res/layout/activity_health_care.xml | 2 app/src/main/java/com/application/zhangshi_app_android/widget/DoubleNode.java | 4 app/src/main/res/drawable-xxhdpi/ic_camera.png | 0 app/src/main/res/layout/activity_marriage.xml | 3 app/src/main/java/com/application/zhangshi_app_android/widget/HomeMindMapLayout.java | 70 app/src/main/res/layout/activity_property.xml | 92 + app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyActivity.java | 33 app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java | 2 app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java | 18 app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java | 87 + app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragment.java | 455 ------ app/src/main/res/layout/item_family_member.xml | 6 app/src/main/res/layout/dialog_toatal_add.xml | 272 ++++ app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragmentViewModel.java | 21 app/src/main/java/com/application/zhangshi_app_android/widget/SimpleNode.java | 2 app/src/main/res/layout/fragment_home.xml | 1230 ------------------- app/src/main/res/layout/activity_home_devices_detail.xml | 2 app/src/main/res/layout/pop_basic_information_double.xml | 2 app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragment.java | 75 + app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java | 6 app/src/main/java/com/application/zhangshi_app_android/bean/PropertyRequestBean.java | 41 app/src/main/res/drawable-xhdpi/bg_home_root.png | 0 app/src/main/res/layout/activity_login.xml | 1 app/src/main/java/com/application/zhangshi_app_android/ui/dialog/TotalAddDialog.java | 118 + 36 files changed, 1,884 insertions(+), 1,816 deletions(-) diff --git a/app/src/main/java/com/application/zhangshi_app_android/bean/PropertyRequestBean.java b/app/src/main/java/com/application/zhangshi_app_android/bean/PropertyRequestBean.java index 2ef3bf3..491a111 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/bean/PropertyRequestBean.java +++ b/app/src/main/java/com/application/zhangshi_app_android/bean/PropertyRequestBean.java @@ -11,6 +11,9 @@ private String type;//绫诲瀷 private String name;//鍚嶇О private String term;//鏈熼檺 + private String isChange;//鍙樻洿鎴栨敞閿� + private int status = -1;//鏄惁娉ㄩ攢 1.鏄� 0.鍚� + private String statusStr;//鏄惁娉ㄩ攢 private String happenStartTime;//鏃堕棿寮�濮� private String happenEndTime;//鏃堕棿缁撴潫 @@ -46,12 +49,46 @@ this.happenStartTime = happenStartTime; } + public String getIsChange() { + return isChange; + } + + public void setIsChange(String isChange) { + this.isChange = isChange; + } + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + public String getHappenEndTime() { return happenEndTime; } public void setHappenEndTime(String happenEndTime) { this.happenEndTime = happenEndTime; + } + + public String getStatusStr() { + if (status == 1){ + statusStr = "鏄�"; + }else if (status == 0) { + statusStr = "鍚�"; + } + return statusStr; + } + + public void setStatusStr(String statusStr) { + this.statusStr = statusStr; + if ("鏄�".equals(statusStr)) { + status = 1; + }else if ("鍚�".equals(statusStr)) { + status = 0; + } } @Override @@ -62,6 +99,10 @@ map.put("term",term==null?"":term); map.put("happenStartTime",happenStartTime==null?"":happenStartTime); map.put("happenEndTime",happenEndTime==null?"":happenEndTime); + map.put("isChange",isChange==null?"":isChange); + if (status != -1){ + map.put("status",status); + } return map; } } diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java index 0b4cd83..a93d8b1 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseActivity.java @@ -21,6 +21,8 @@ import com.android.app_base.manager.UserManager; import com.android.app_base.utils.GlideUtil; import com.android.app_base.utils.ScreenSizeUtils; +import com.android.app_base.utils.rxbus.MessageEvent; +import com.android.app_base.utils.rxbus.RxBus; import com.application.zhangshi_app_android.R; import com.application.zhangshi_app_android.ui.function.CertificateOfHonorActivity; import com.application.zhangshi_app_android.ui.function.CleanStorageActivity; @@ -54,6 +56,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; + +import io.reactivex.functions.Consumer; /** * @author Ljj @@ -142,13 +146,23 @@ mDrawerLayout.setScrimColor(getResources().getColor(R.color.color_shadow)); } + + setNameAndAvatar(UserManager.getInstance().getUserName(),UserManager.getInstance().getUserAvatar()); + RxBus.getInstance().toObservable(this, MessageEvent.class).subscribe(new Consumer<MessageEvent>() { + @Override + public void accept(MessageEvent event) throws Exception { + if(event.getMessageEventCode() == MessageEvent.EVENT_UPDATE_USER_INFO){ + setNameAndAvatar(UserManager.getInstance().getUserName(),UserManager.getInstance().getUserAvatar()); + } + } + }); } public void setNameAndAvatar(String name,String avatar){ if (mDrawerLayout != null){ - GlideUtil.loadImage(UserManager.getInstance().getUserAvatar(), findViewById(R.id.dl_home_user_avatar)); + GlideUtil.loadImage(avatar, findViewById(R.id.dl_home_user_avatar)); TextView userNameTv = findViewById(R.id.dl_home_user_name); - userNameTv.setText(UserManager.getInstance().getUserName()); + userNameTv.setText(name); } } private void setSelectItem(LinearLayout linearLayout) { diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseFragment.java b/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseFragment.java index 90f73d9..1985b69 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseFragment.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/DLBaseFragment.java @@ -22,6 +22,8 @@ import com.android.app_base.manager.AppManager; import com.android.app_base.manager.UserManager; import com.android.app_base.utils.GlideUtil; +import com.android.app_base.utils.rxbus.MessageEvent; +import com.android.app_base.utils.rxbus.RxBus; import com.application.zhangshi_app_android.R; import com.application.zhangshi_app_android.ui.function.CertificateOfHonorActivity; import com.application.zhangshi_app_android.ui.function.CleanStorageActivity; @@ -45,6 +47,8 @@ import java.util.HashMap; import java.util.Map; + +import io.reactivex.functions.Consumer; /** * @author Ljj @@ -143,10 +147,17 @@ } } mDrawerLayout.setScrimColor(getResources().getColor(R.color.color_shadow)); - GlideUtil.loadImage(UserManager.getInstance().getUserAvatar(), findViewById(R.id.dl_home_user_avatar)); - TextView userNameTv = findViewById(R.id.dl_home_user_name); - userNameTv.setText(UserManager.getInstance().getUserName()); } + + setNameAndAvatar(UserManager.getInstance().getUserName(),UserManager.getInstance().getUserAvatar()); + RxBus.getInstance().toObservable(this, MessageEvent.class).subscribe(new Consumer<MessageEvent>() { + @Override + public void accept(MessageEvent event) throws Exception { + if(event.getMessageEventCode() == MessageEvent.EVENT_UPDATE_USER_INFO){ + setNameAndAvatar(UserManager.getInstance().getUserName(),UserManager.getInstance().getUserAvatar()); + } + } + }); } private void setSelectItem(LinearLayout linearLayout) { if (linearLayout == null){ @@ -158,7 +169,13 @@ imageView.setBackgroundResource(R.drawable.ic_vector_pink); } - + public void setNameAndAvatar(String name,String avatar){ + if (mDrawerLayout != null){ + GlideUtil.loadImage(avatar, findViewById(R.id.dl_home_user_avatar)); + TextView userNameTv = findViewById(R.id.dl_home_user_name); + userNameTv.setText(name); + } + } /** * 鑾峰彇DrawerLayout */ diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/dialog/TotalAddDialog.java b/app/src/main/java/com/application/zhangshi_app_android/ui/dialog/TotalAddDialog.java new file mode 100644 index 0000000..1002c1a --- /dev/null +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/dialog/TotalAddDialog.java @@ -0,0 +1,118 @@ +package com.application.zhangshi_app_android.ui.dialog; + +import android.content.Context; +import android.content.Intent; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.FrameLayout; +import android.widget.ImageView; + +import androidx.databinding.DataBindingUtil; + +import com.android.app_base.base.BaseConfig; +import com.android.app_base.base.dialog.BaseDialog; +import com.android.app_base.manager.AppManager; +import com.application.zhangshi_app_android.R; +import com.application.zhangshi_app_android.bean.PetBean; +import com.application.zhangshi_app_android.databinding.DialogPetOwnerInfoBinding; +import com.application.zhangshi_app_android.databinding.DialogToatalAddBinding; +import com.application.zhangshi_app_android.ui.function.AnnualHealthStatusDetailActivity; +import com.application.zhangshi_app_android.ui.function.CleanStorageDetailActivity; +import com.application.zhangshi_app_android.ui.function.FamilyMemorabiliaDetailActivity; +import com.application.zhangshi_app_android.ui.function.HomeDevicesDetailActivity; +import com.application.zhangshi_app_android.ui.function.IncomeAndExpensesDetailActivity; +import com.application.zhangshi_app_android.ui.function.LittleDoctorDetailActivity; +import com.application.zhangshi_app_android.ui.function.TourismDetailActivity; + +/** + * @author Ljj + * @date 2023.09.16. 20:54 + * @desc 渚挎嵎娣诲姞寮圭獥 + */ +public class TotalAddDialog { + public static class Builder extends BaseDialog.Builder<TotalAddDialog.Builder> { + private DialogToatalAddBinding binding; + public Builder(Context context) { + super(context); + binding = DataBindingUtil.inflate(LayoutInflater.from(getContext()), R.layout.dialog_toatal_add,new FrameLayout(getContext()),false); + setContentView(binding.getRoot()); + setAnimStyle(BaseDialog.ANIM_IOS); + setBackgroundDimEnabled(false); + setCancelable(true); + setGravity(Gravity.CENTER); + binding.ivDialogClose.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (getDialog() != null) { + getDialog().dismiss(); + } + } + }); + binding.layoutFamilyMemorabilia.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + AppManager.getAppManager().startActivity(new Intent(context, FamilyMemorabiliaDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1)); + if (getDialog() != null) { + getDialog().dismiss(); + } + } + }); + binding.layoutHomeDevices.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + AppManager.getAppManager().startActivity(new Intent(context, HomeDevicesDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1)); + if (getDialog() != null) { + getDialog().dismiss(); + } + } + }); + binding.layoutLittleDoctor.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + AppManager.getAppManager().startActivity(new Intent(context, LittleDoctorDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1)); + if (getDialog() != null) { + getDialog().dismiss(); + } + } + }); + binding.layoutCleanStorage.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + AppManager.getAppManager().startActivity(new Intent(context, CleanStorageDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1)); + if (getDialog() != null) { + getDialog().dismiss(); + } + } + }); + binding.layoutIncomeAndExpenses.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + AppManager.getAppManager().startActivity(new Intent(context, IncomeAndExpensesDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1)); + if (getDialog() != null) { + getDialog().dismiss(); + } + } + }); + binding.layoutHealthCare.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + AppManager.getAppManager().startActivity(new Intent(context, AnnualHealthStatusDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1)); + if (getDialog() != null) { + getDialog().dismiss(); + } + } + }); + binding.layoutTourism.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + AppManager.getAppManager().startActivity(new Intent(context, TourismDetailActivity.class).putExtra(BaseConfig.EXTRA_TYPE,1)); + if (getDialog() != null) { + getDialog().dismiss(); + } + } + }); + } + } + +} diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragment.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragment.java index 3d4297a..dbb4ce6 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragment.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FunctionFragment.java @@ -2,6 +2,8 @@ import android.content.Intent; import android.os.Bundle; +import android.view.GestureDetector; +import android.view.MotionEvent; import android.view.View; import android.widget.PopupWindow; @@ -16,6 +18,7 @@ import com.application.zhangshi_app_android.bean.BannerBean; import com.application.zhangshi_app_android.databinding.FragmentFunctionBinding; import com.application.zhangshi_app_android.ui.DLBaseFragment; +import com.application.zhangshi_app_android.ui.dialog.TotalAddDialog; import com.application.zhangshi_app_android.ui.home.HomeFragment; import com.application.zhangshi_app_android.ui.main.MainActivity; @@ -31,6 +34,7 @@ public class FunctionFragment extends DLBaseFragment<FragmentFunctionBinding,FunctionFragmentViewModel> { private PopupWindow mOperatePopupWindow; + private PopupWindow mAddPopupWindow; private ImageCarouselFragment imageCarouselFragment; private VideoCarouselFragment videoCarouselFragment; @@ -130,6 +134,76 @@ AppManager.getAppManager().startActivity(ContactsActivity.class); }); + binding.fabAdd.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + binding.fabAdd.setOnTouchListener(new View.OnTouchListener() { + + private boolean isDragging = false; + private int startX, startY; + private float dX, dY; + + @Override + public boolean onTouch(View v, MotionEvent event) { + boolean flag = false; + + switch (event.getAction()) { + case MotionEvent.ACTION_DOWN: + // 璁$畻鎵嬫寚鎸変笅鏃剁浉瀵逛簬 FloatingActionButton 鐨勫亸绉婚噺 + dX = v.getX() - event.getRawX(); + dY = v.getY() - event.getRawY(); + startY = (int) event.getRawY(); + startX = (int) event.getRawX(); + isDragging = false; + break; + case MotionEvent.ACTION_MOVE: + // 鏇存柊 FloatingActionButton 鐨勪綅缃� + float newX = event.getRawX() + dX; + float newY = event.getRawY() + dY; + + // 闄愬埗绉诲姩鑼冨洿 + float minX = 0; + float maxX = binding.container.getWidth() - v.getWidth(); + float minY = 0; + float maxY = binding.container.getHeight() - v.getHeight(); + + // 纭繚涓嶈秴鍑鸿寖鍥� + if (newX < minX) { + newX = minX; + } else if (newX > maxX) { + newX = maxX; + } + + if (newY < minY) { + newY = minY; + } else if (newY > maxY) { + newY = maxY; + } + v.setX(newX); + v.setY(newY); + if (Math.abs(event.getRawX() - startX) > 10 || Math.abs(event.getRawY() - startY) > 10) { + isDragging = true; // 濡傛灉绉诲姩璺濈澶т簬闃堝�硷紝璁や负鏄嫋鍔� + }else { + isDragging = false; + } + flag = true; + break; + case MotionEvent.ACTION_UP: + if (!isDragging) { + // 濡傛灉娌℃湁鎷栧姩锛岃涓烘槸鐐瑰嚮浜嬩欢 + new TotalAddDialog.Builder(getContext()).show(); + } + break; + default: + break; + } + return flag; + } + }); + binding.ivOperateSelect.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -213,5 +287,6 @@ protected boolean isStatusBarImmersionEnabled() { return true; } + } diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivityViewModel.java index 0255a1b..9028334 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivityViewModel.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivityViewModel.java @@ -6,8 +6,11 @@ import androidx.lifecycle.MutableLiveData; import com.android.app_base.http.ResultData; +import com.android.app_base.manager.UserManager; import com.android.app_base.utils.RxUtils; import com.android.app_base.base.viewmodel.BaseViewModel; +import com.android.app_base.utils.rxbus.MessageEvent; +import com.android.app_base.utils.rxbus.RxBus; import com.application.zhangshi_app_android.bean.GrowthExperienceAbroadConditionBean; import com.application.zhangshi_app_android.bean.GrowthExperienceAutobiographyBean; import com.application.zhangshi_app_android.bean.GrowthExperienceBean; @@ -96,7 +99,13 @@ @Override public void onNext(ResultData<GrowthExperienceInformationBean> data) { if (data.getCode() == CODE_SUCCESS){ - infoLiveData.postValue(data.getData()); + GrowthExperienceInformationBean informationBean = data.getData(); + infoLiveData.postValue(informationBean); + if(informationBean != null){ + UserManager.getInstance().setUserName(informationBean.getNickName()); + UserManager.getInstance().setUserAvatar(informationBean.getImg()); + RxBus.getInstance().post(new MessageEvent(MessageEvent.EVENT_UPDATE_USER_INFO,informationBean)); + } }else { messageLiveData.postValue(data.getMsg()); } diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyActivity.java index c2167ed..b24acb3 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyActivity.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/PropertyActivity.java @@ -16,7 +16,12 @@ import com.application.zhangshi_app_android.databinding.ActivityPropertyBinding; import com.application.zhangshi_app_android.ui.DLBaseActivity; import com.github.gzuliyujiang.wheelpicker.DatePicker; +import com.github.gzuliyujiang.wheelpicker.OptionPicker; import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener; +import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener; + +import java.util.ArrayList; +import java.util.List; /** * @author Ljj @@ -200,6 +205,34 @@ binding.etStartTime.setText(""); binding.etEndTime.setText(""); }); + binding.etIsChange.setOnClickListener(v -> { + List<String> list = new ArrayList<>(); + list.add("鍙樻洿"); + list.add("娉ㄩ攢"); + OptionPicker picker = getOptionPicker(list); + picker.setTitle("鍙樻洿鎴栨敞閿�"); + picker.setOnOptionPickedListener(new OnOptionPickedListener() { + @Override + public void onOptionPicked(int position, Object item) { + binding.etIsChange.setText(item.toString()); + } + }); + picker.show(); + }); + binding.etIsLogout.setOnClickListener(v -> { + List<String> list = new ArrayList<>(); + list.add("鏄�"); + list.add("鍚�"); + OptionPicker picker = getOptionPicker(list); + picker.setTitle("鏄惁娉ㄩ攢"); + picker.setOnOptionPickedListener(new OnOptionPickedListener() { + @Override + public void onOptionPicked(int position, Object item) { + binding.etIsLogout.setText(item.toString()); + } + }); + picker.show(); + }); } @Override public boolean dispatchTouchEvent(MotionEvent event) { 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 4a9f5e5..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,43 +1,26 @@ package com.application.zhangshi_app_android.ui.home; -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.animation.ObjectAnimator; import android.annotation.SuppressLint; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; -import android.view.GestureDetector; -import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; -import android.view.animation.AlphaAnimation; -import android.view.animation.Animation; -import android.view.animation.AnimationSet; -import android.view.animation.ScaleAnimation; import android.widget.PopupWindow; -import android.widget.TextView; -import androidx.constraintlayout.utils.widget.ImageFilterView; -import androidx.constraintlayout.widget.ConstraintLayout; import androidx.databinding.DataBindingUtil; import androidx.lifecycle.Observer; -import com.android.app_base.base.view.BaseFragment; import com.android.app_base.manager.AppManager; -import com.android.app_base.utils.GlideUtil; import com.android.app_base.utils.ScreenSizeUtils; -import com.android.app_base.widget.LinearItemDecoration; 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.application.zhangshi_app_android.databinding.PopBasicInformationBinding; +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.hjq.bar.TitleBar; +import com.application.zhangshi_app_android.widget.HomeMindMapLayout; -import java.util.ArrayList; import java.util.List; /** @@ -47,18 +30,6 @@ */ public class HomeFragment extends DLBaseFragment<FragmentHomeBinding,HomeFragmentViewModel> { private PopupWindow mOperatePopupWindow; - private ViewOperator firstViewOperator1;//绗竴浠� - private ViewOperator firstViewOperator2;//绗竴浠� - private List<ViewOperator> secondSelfList;//绗簩浠e洓涓垎鏀� - private List<ViewOperator> secondSpouseList;//绗簩浠e洓涓垎鏀殑閰嶅伓 - - private List<List<ViewOperator>> thirdSelfListList;//绗笁浠e洓涓垎鏀殑鍒楄〃 - - - private List<List<ViewOperator>> fourthSelfListList;//绗洓浠e洓涓垎鏀殑鍒楄〃 - - - public HomeFragment() { } @@ -91,180 +62,48 @@ binding.ivOperate.setOnClickListener(v -> { mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(getSelfActivity(),120) +binding.ivOperate.getWidth(),0); }); - mOperatePopupWindow.getContentView().findViewById(R.id.tv_first).setOnClickListener(v -> { - binding.ivTreeViewDiff.setBackgroundResource(R.drawable.bg_home_root_net_detail_first); - viewModel.setIndexLiveData(0); - }); - mOperatePopupWindow.getContentView().findViewById(R.id.tv_second).setOnClickListener(v -> { - binding.ivTreeViewDiff.setBackgroundResource(R.drawable.bg_home_root_net_detail_second); - viewModel.setIndexLiveData(1); - }); - mOperatePopupWindow.getContentView().findViewById(R.id.tv_third).setOnClickListener(v -> { - binding.ivTreeViewDiff.setBackgroundResource(R.drawable.bg_home_root_net_detail_third); - viewModel.setIndexLiveData(2); - }); - mOperatePopupWindow.getContentView().findViewById(R.id.tv_all).setOnClickListener(v -> { - binding.ivTreeViewDiff.setBackgroundResource(R.drawable.bg_home_root_net_detail); - viewModel.setIndexLiveData(3); - }); mOperatePopupWindow.getContentView().findViewById(R.id.tv_family).setOnClickListener(v -> { AppManager.getAppManager().startActivity(GenealogyActivity.class); mOperatePopupWindow.dismiss(); }); - mOperatePopupWindow.getContentView().findViewById(R.id.tv_relation).setOnClickListener(v -> { - AppManager.getAppManager().startActivity(HomeMindMapActivity.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); + + + popupWindow.setHeight(binding.zoomLayout.getHeight()); + popupWindow.setWidth(binding.zoomLayout.getWidth()); + popupWindow.showAsDropDown(binding.titleBar,0,0); + } }); -// final GestureDetector gestureDetector = new GestureDetector(getSelfActivity(), new GestureDetector.SimpleOnGestureListener() { -// @Override -// public boolean onDoubleTap(MotionEvent e) { -// AlphaAnimation alphaAnimation = new AlphaAnimation(0f, 1f); -// alphaAnimation.setDuration(1000); -// alphaAnimation.setAnimationListener(new Animation.AnimationListener() { -// @Override -// public void onAnimationStart(Animation animation) { -// binding.scrollView.setVisibility(View.VISIBLE); -// binding.scrollView.post(new Runnable() { -// @Override -// public void run() { -// binding.scrollView.scrollTo(binding.scrollView.getChildAt(0).getMeasuredWidth()/2 - ScreenSizeUtils.getScreenWidth(getSelfActivity())/2,0); -// } -// }); -// } -// -// @Override -// public void onAnimationEnd(Animation animation) { -// } -// -// @Override -// public void onAnimationRepeat(Animation animation) { -// -// } -// }); -// -// AlphaAnimation alphaAnimation1 = new AlphaAnimation(1f, 0f); -// alphaAnimation1.setDuration(1000); -// alphaAnimation1.setAnimationListener(new Animation.AnimationListener() { -// @Override -// public void onAnimationStart(Animation animation) { -// binding.layoutHomeRootNet.setVisibility(View.VISIBLE); -// } -// -// @Override -// public void onAnimationEnd(Animation animation) { -// binding.layoutHomeRootNet.setVisibility(View.GONE); -// } -// -// @Override -// public void onAnimationRepeat(Animation animation) { -// -// } -// }); -// -// float scale = binding.layoutHomeRootNet.getWidth()/ (binding.ivTreeView.getWidth() * 2f / 3f); -// //缂╂斁鍔ㄧ敾 -// ScaleAnimation scaleAnimation = new ScaleAnimation(1f, scale, 1f, scale, binding.layoutHomeRootNet.getWidth()/2f, binding.layoutHomeRootNet.getHeight()/2f); -// scaleAnimation.setDuration(1000); -// scaleAnimation.setAnimationListener(new Animation.AnimationListener() { -// @Override -// public void onAnimationStart(Animation animation) { -// } -// -// @Override -// public void onAnimationEnd(Animation animation) { -// binding.scrollView.startAnimation(alphaAnimation); -// binding.layoutHomeRootNet.startAnimation(alphaAnimation1); -// } -// -// @Override -// public void onAnimationRepeat(Animation animation) { -// -// } -// }); -// binding.layoutHomeRootNet.startAnimation(scaleAnimation); -// -// return true; -// } -// }); -// binding.layoutHomeRootNet.setOnTouchListener(new View.OnTouchListener() { -// @Override -// public boolean onTouch(View v, MotionEvent event) { -// gestureDetector.onTouchEvent(event); -// return true; -// } -// }); - binding.layoutHomeRootNet.setVisibility(View.GONE); - binding.scrollView.setVisibility(View.VISIBLE); - - - firstViewOperator1 = new ViewOperator(binding.tvFirst1,binding.ivFirst1); - firstViewOperator2 = new ViewOperator(binding.tvFirst2,binding.ivFirst2); - - secondSelfList = new ArrayList<>(); - secondSpouseList = new ArrayList<>(); - secondSelfList.add(new ViewOperator(binding.tvSecond11,binding.ivSecond11)); - secondSpouseList.add(new ViewOperator(binding.tvSecond12,binding.ivSecond12)); - secondSelfList.add(new ViewOperator(binding.tvSecond21,binding.ivSecond21)); - secondSpouseList.add(new ViewOperator(binding.tvSecond22,binding.ivSecond22)); - secondSelfList.add(new ViewOperator(binding.tvSecond31,binding.ivSecond31)); - secondSpouseList.add(new ViewOperator(binding.tvSecond32,binding.ivSecond32)); - secondSelfList.add(new ViewOperator(binding.tvSecond41,binding.ivSecond41)); - secondSpouseList.add(new ViewOperator(binding.tvSecond42,binding.ivSecond42)); - - thirdSelfListList = new ArrayList<>(); - - List<ViewOperator> thirdSelfList1 = new ArrayList<>(); - thirdSelfList1.add(new ViewOperator(binding.tvThird11,binding.ivThird11)); - thirdSelfList1.add(new ViewOperator(binding.tvThird12,binding.ivThird12)); - thirdSelfList1.add(new ViewOperator(binding.tvThird13,binding.ivThird13)); - thirdSelfList1.add(new ViewOperator(binding.tvThird14,binding.ivThird14)); - thirdSelfListList.add(thirdSelfList1); - - List<ViewOperator> thirdSelfList2 = new ArrayList<>(); - thirdSelfList2.add(new ViewOperator(binding.tvThird21,binding.ivThird21)); - thirdSelfList2.add(new ViewOperator(binding.tvThird22,binding.ivThird22)); - thirdSelfList2.add(new ViewOperator(binding.tvThird23,binding.ivThird23)); - thirdSelfList2.add(new ViewOperator(binding.tvThird24,binding.ivThird24)); - thirdSelfListList.add(thirdSelfList2); - - List<ViewOperator> thirdSelfList3 = new ArrayList<>(); - thirdSelfList3.add(new ViewOperator(binding.tvThird31,binding.ivThird31)); - thirdSelfList3.add(new ViewOperator(binding.tvThird32,binding.ivThird32)); - thirdSelfList3.add(new ViewOperator(binding.tvThird33,binding.ivThird33)); - thirdSelfList3.add(new ViewOperator(binding.tvThird34,binding.ivThird34)); - thirdSelfListList.add(thirdSelfList3); - - List<ViewOperator> thirdSelfList4 = new ArrayList<>(); - thirdSelfList4.add(new ViewOperator(binding.tvThird41,binding.ivThird41)); - thirdSelfList4.add(new ViewOperator(binding.tvThird42,binding.ivThird42)); - thirdSelfListList.add(thirdSelfList4); - - fourthSelfListList = new ArrayList<>(); - - List<ViewOperator> fourthSelfList1 = new ArrayList<>(); - fourthSelfList1.add(new ViewOperator(binding.tvFourth11,binding.ivFourth11)); - fourthSelfList1.add(new ViewOperator(binding.tvFourth12,binding.ivFourth12)); - fourthSelfListList.add(fourthSelfList1); - - List<ViewOperator> fourthSelfList2 = new ArrayList<>(); - fourthSelfList2.add(new ViewOperator(binding.tvFourth21,binding.ivFourth21)); - fourthSelfList2.add(new ViewOperator(binding.tvFourth22,binding.ivFourth22)); - fourthSelfList2.add(new ViewOperator(binding.tvFourth23,binding.ivFourth23)); - fourthSelfList2.add(new ViewOperator(binding.tvFourth24,binding.ivFourth24)); - fourthSelfListList.add(fourthSelfList2); - - List<ViewOperator> fourthSelfList3 = new ArrayList<>(); - fourthSelfList3.add(new ViewOperator(binding.tvFourth31,binding.ivFourth31)); - fourthSelfList3.add(new ViewOperator(binding.tvFourth32,binding.ivFourth32)); - fourthSelfList3.add(new ViewOperator(binding.tvFourth33,binding.ivFourth33)); - fourthSelfList3.add(new ViewOperator(binding.tvFourth34,binding.ivFourth34)); - fourthSelfListList.add(fourthSelfList3); - - List<ViewOperator> fourthSelfList4 = new ArrayList<>(); - fourthSelfList4.add(new ViewOperator(binding.tvFourth41,binding.ivFourth41)); - fourthSelfList4.add(new ViewOperator(binding.tvFourth42,binding.ivFourth42)); - fourthSelfList4.add(new ViewOperator(binding.tvFourth43,binding.ivFourth43)); - fourthSelfListList.add(fourthSelfList4); } @@ -276,145 +115,14 @@ @Override protected void initLiveDataObserve() { - viewModel.getIndexLiveData().observe(this, new Observer<Integer>() { - @Override - public void onChanged(Integer integer) { - firstViewOperator1.setVisibility(View.VISIBLE); - firstViewOperator2.setVisibility(View.VISIBLE); - if (integer == 0){ - for (ViewOperator viewOperator : secondSelfList) { - viewOperator.setVisibility(View.GONE); - } - for (ViewOperator viewOperator : secondSpouseList) { - viewOperator.setVisibility(View.GONE); - } - for (List<ViewOperator> viewOperators : thirdSelfListList) { - for (ViewOperator viewOperator : viewOperators) { - viewOperator.setVisibility(View.GONE); - } - } - for (List<ViewOperator> viewOperators : fourthSelfListList) { - for (ViewOperator viewOperator : viewOperators) { - viewOperator.setVisibility(View.GONE); - } - } - }else if (integer == 1){ - for (int i = 0; i < secondSelfList.size(); i++) { - if (secondSelfList.get(i).selfBean != null) { - secondSelfList.get(i).setVisibility(View.VISIBLE); - }else { - secondSelfList.get(i).setVisibility(View.GONE); - } - if (secondSpouseList.get(i).selfBean != null) { - secondSpouseList.get(i).setVisibility(View.VISIBLE); - }else { - secondSpouseList.get(i).setVisibility(View.GONE); - } - } - for (List<ViewOperator> viewOperators : thirdSelfListList) { - for (ViewOperator viewOperator : viewOperators) { - viewOperator.setVisibility(View.GONE); - } - } - for (List<ViewOperator> viewOperators : fourthSelfListList) { - for (ViewOperator viewOperator : viewOperators) { - viewOperator.setVisibility(View.GONE); - } - } - }else if (integer == 2){ - for (int i = 0; i < secondSelfList.size(); i++) { - if (secondSelfList.get(i).selfBean != null) { - secondSelfList.get(i).setVisibility(View.VISIBLE); - }else { - secondSelfList.get(i).setVisibility(View.GONE); - } - if (secondSpouseList.get(i).selfBean != null) { - secondSpouseList.get(i).setVisibility(View.VISIBLE); - }else { - secondSpouseList.get(i).setVisibility(View.GONE); - } - } - for (List<ViewOperator> viewOperators : thirdSelfListList) { - for (ViewOperator viewOperator : viewOperators) { - if (viewOperator.selfBean != null) { - viewOperator.setVisibility(View.VISIBLE); - }else { - viewOperator.setVisibility(View.GONE); - } - } - } - for (List<ViewOperator> viewOperators : fourthSelfListList) { - for (ViewOperator viewOperator : viewOperators) { - viewOperator.setVisibility(View.GONE); - } - } - }else if (integer == 3){ - for (int i = 0; i < secondSelfList.size(); i++) { - if (secondSelfList.get(i).selfBean != null) { - secondSelfList.get(i).setVisibility(View.VISIBLE); - }else { - secondSelfList.get(i).setVisibility(View.GONE); - } - if (secondSpouseList.get(i).selfBean != null) { - secondSpouseList.get(i).setVisibility(View.VISIBLE); - }else { - secondSpouseList.get(i).setVisibility(View.GONE); - } - } - for (List<ViewOperator> viewOperators : thirdSelfListList) { - for (ViewOperator viewOperator : viewOperators) { - if (viewOperator.selfBean != null) { - viewOperator.setVisibility(View.VISIBLE); - }else { - viewOperator.setVisibility(View.GONE); - } - } - } - for (List<ViewOperator> viewOperators : fourthSelfListList) { - for (ViewOperator viewOperator : viewOperators) { - if (viewOperator.selfBean != null) { - viewOperator.setVisibility(View.VISIBLE); - }else { - viewOperator.setVisibility(View.GONE); - } - } - } - } - } - }); + viewModel.getHomeRootBeanLiveData().observe(this, new Observer<List<HomeRootBean>>() { @Override public void onChanged(List<HomeRootBean> homeRootBeans) { - if (homeRootBeans.size() > 0){ - //濉厖绗竴浠f暟鎹� - firstViewOperator1.setBean(homeRootBeans.get(0),homeRootBeans.get(0).getSpouse()); - firstViewOperator2.setBean(homeRootBeans.get(0).getSpouse(),homeRootBeans.get(0)); - - List<HomeRootBean> secondGeneration = homeRootBeans.get(0).getChildList();//绗簩浠d汉鍛� - for (int i = 0; i < Math.min(homeRootBeans.get(0).getChildList().size(),4); i++) { - //濉厖绗琲鍒嗘敮鐨勭浜屼唬鏁版嵁 - secondSelfList.get(i).setBean(secondGeneration.get(i),secondGeneration.get(i).getSpouse()); - secondSpouseList.get(i).setBean(secondGeneration.get(i).getSpouse(),secondGeneration.get(i)); - - List<HomeRootBean> thirdGeneration = secondGeneration.get(i).getChildList();//绗琲鍒嗘敮鐨勭涓変唬浜哄憳 - List<ViewOperator> thirdList = thirdSelfListList.get(i);//绗琲鍒嗘敮鐨勭涓変唬瀵瑰簲view - - List<HomeRootBean> fourthGeneration = new ArrayList<>();//绗琲鍒嗘敮鐨勭鍥涗唬浜哄憳 - List<ViewOperator> fourthList = fourthSelfListList.get(i);//绗琲鍒嗘敮鐨勭鍥涗唬瀵瑰簲view - - for (int j = 0; j < Math.min(thirdGeneration.size(),thirdList.size()); j++) { - //濉厖绗琲鍒嗘敮涓嬬殑绗笁浠f暟鎹� - thirdList.get(j).setBean(thirdGeneration.get(j),thirdGeneration.get(j).getSpouse()); - - fourthGeneration.addAll(thirdGeneration.get(j).getChildList());//鏀堕泦绗琲鍒嗘敮涓嬬殑鍏ㄩ儴绗洓浠d汉鍛� - } - - for (int j = 0; j < Math.min(fourthGeneration.size(),fourthList.size()); j++) { - //濉厖绗琲鍒嗘敮涓嬬殑绗洓浠f暟鎹� - fourthList.get(j).setBean(fourthGeneration.get(j),fourthGeneration.get(j).getSpouse()); - } - } + if (homeRootBeans == null || homeRootBeans.size() == 0) { + return; } + binding.scrollHomeMindMapLayout.setRootMember(homeRootBeans.get(0)); } }); } @@ -424,79 +132,4 @@ return true; } - private class ViewOperator{ - private TextView tvIndex; - private ImageFilterView ivHead; - private HomeRootBean selfBean; - private HomeRootBean spouseBean; - - public ViewOperator(TextView tvIndex, ImageFilterView ivHead) { - this.tvIndex = tvIndex; - this.ivHead = ivHead; - } - - public void setVisibility(int visibility){ - tvIndex.setVisibility(visibility); - ivHead.setVisibility(visibility); - } - public void setBean(HomeRootBean selfBean, HomeRootBean spouseBean) { - this.selfBean = selfBean; - this.spouseBean = spouseBean; - if (selfBean == null){ - tvIndex.setVisibility(View.GONE); - ivHead.setVisibility(View.GONE); - return; - }else { - tvIndex.setVisibility(View.VISIBLE); - ivHead.setVisibility(View.VISIBLE); - } - GlideUtil.loadImage(selfBean.getImg(), ivHead); - View.OnClickListener clickListener = new View.OnClickListener() { - @Override - public void onClick(View v) { - PopBasicInformationBinding mBinding= DataBindingUtil.inflate(getLayoutInflater(),R.layout.pop_basic_information,null,false); - PopupWindow mPopupWindow = initPopUpWindow(mBinding.getRoot()); - mPopupWindow.setHeight(binding.layoutParent.getHeight()); - mPopupWindow.setWidth(binding.layoutParent.getWidth()); - mBinding.setSelfBean(selfBean); - mBinding.setSpouseBean(spouseBean); - mPopupWindow.showAsDropDown(binding.titleBar,0,0); - } - }; - ivHead.setOnClickListener(clickListener); - tvIndex.setOnClickListener(clickListener); - } - - public TextView getTvIndex() { - return tvIndex; - } - - public void setTvIndex(TextView tvIndex) { - this.tvIndex = tvIndex; - } - - public ImageFilterView getIvHead() { - return ivHead; - } - - public void setIvHead(ImageFilterView ivHead) { - this.ivHead = ivHead; - } - - public HomeRootBean getSelfBean() { - return selfBean; - } - - public void setSelfBean(HomeRootBean selfBean) { - this.selfBean = selfBean; - } - - public HomeRootBean getSpouseBean() { - return spouseBean; - } - - public void setSpouseBean(HomeRootBean spouseBean) { - this.spouseBean = spouseBean; - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragmentViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragmentViewModel.java index f6332e2..f0e432b 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragmentViewModel.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/home/HomeFragmentViewModel.java @@ -28,7 +28,6 @@ * @desc 棣栭〉 Fragment鐨� ViewModel */ public class HomeFragmentViewModel extends BaseViewModel<DataRepository> { - private MutableLiveData<Integer> indexLiveData;//鏄剧ず浠f暟(0,1,2,3瀵瑰簲绗竴浠�,绗簩浠�,绗笁浠�,绗洓浠�) private MutableLiveData<List<HomeRootBean>> homeRootBeanLiveData;//瀹舵牴缃戞垚鍛樺垪琛� @@ -43,7 +42,7 @@ public void getHomeRootBeanList() { - model.getHomeRoot("4") + model.getHomeRoot("1000") .compose(RxUtils.schedulersTransformer()) .doFinally(new Action() { @Override @@ -79,24 +78,6 @@ } - public void setIndexLiveData(MutableLiveData<Integer> indexLiveData) { - this.indexLiveData = indexLiveData; - } - - public MutableLiveData<Integer> getIndexLiveData() { - if (indexLiveData == null) { - indexLiveData = new MutableLiveData<>(); - indexLiveData.setValue(3); - } - return indexLiveData; - } - - public void setIndexLiveData(int index) { - if (indexLiveData == null) { - indexLiveData = new MutableLiveData<>(); - } - indexLiveData.setValue(index); - } public MutableLiveData<List<HomeRootBean>> getHomeRootBeanLiveData() { if (homeRootBeanLiveData == null) { diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java index d5c7235..9185898 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/main/MainActivity.java @@ -141,7 +141,7 @@ public void onChanged(GrowthExperienceInformationBean informationBean) { if(informationBean != null){ UserManager.getInstance().setUserName(informationBean.getNickName()); - UserManager.getInstance().setUserAvatar(informationBean.getUrl()); + UserManager.getInstance().setUserAvatar(informationBean.getImg()); RxBus.getInstance().post(new MessageEvent(MessageEvent.EVENT_UPDATE_USER_INFO,informationBean)); } diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragment.java b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragment.java index 8fda600..ab5f4f8 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragment.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragment.java @@ -1,28 +1,63 @@ package com.application.zhangshi_app_android.ui.personal_center; +import android.content.Context; import android.content.Intent; +import android.graphics.Bitmap; import android.graphics.drawable.ColorDrawable; +import android.graphics.drawable.Drawable; +import android.net.Uri; import android.os.Bundle; +import android.util.Log; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.PopupWindow; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; import com.android.app_base.base.dialog.BaseDialog; import com.android.app_base.base.dialog.UIDialog; +import com.android.app_base.base.dialog.WaitDialog; import com.android.app_base.base.view.BaseFragment; import com.android.app_base.manager.AppManager; import com.android.app_base.manager.UserManager; +import com.android.app_base.utils.GlideEngine; import com.android.app_base.utils.ScreenSizeUtils; +import com.android.app_base.utils.Utils; import com.android.app_base.utils.rxbus.MessageEvent; import com.android.app_base.utils.rxbus.RxBus; import com.application.zhangshi_app_android.BR; import com.application.zhangshi_app_android.R; +import com.application.zhangshi_app_android.bean.AnnualHealthStatusBean; import com.application.zhangshi_app_android.bean.GrowthExperienceInformationBean; import com.application.zhangshi_app_android.databinding.FragmentPersonalCenterBinding; import com.application.zhangshi_app_android.ui.DLBaseFragment; import com.application.zhangshi_app_android.ui.dialog.PetOwnerInfoDialog; import com.application.zhangshi_app_android.ui.function.PetMemoActivity; import com.application.zhangshi_app_android.ui.login.LoginActivity; +import com.bumptech.glide.Glide; +import com.bumptech.glide.request.target.CustomTarget; +import com.bumptech.glide.request.transition.Transition; +import com.luck.picture.lib.basic.PictureSelector; +import com.luck.picture.lib.config.SelectMimeType; +import com.luck.picture.lib.engine.CropFileEngine; +import com.luck.picture.lib.entity.LocalMedia; +import com.luck.picture.lib.interfaces.OnResultCallbackListener; +import com.luck.picture.lib.style.PictureSelectorStyle; +import com.luck.picture.lib.style.SelectMainStyle; +import com.luck.picture.lib.style.TitleBarStyle; +import com.luck.picture.lib.utils.PictureFileUtils; +import com.luck.picture.lib.utils.StyleUtils; +import com.yalantis.ucrop.UCrop; +import com.yalantis.ucrop.UCropImageEngine; +import com.yalantis.ucrop.model.AspectRatio; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; import io.reactivex.Observer; import io.reactivex.functions.Consumer; @@ -34,6 +69,7 @@ */ public class PersonalCenterFragment extends DLBaseFragment<FragmentPersonalCenterBinding,PersonalCenterFragmentViewModel> { private PopupWindow popupWindow; + private BaseDialog mWaitDialog; public PersonalCenterFragment() { } @@ -92,6 +128,36 @@ } }); + binding.ivHead.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + PictureSelector.create(getSelfActivity()) + .openGallery(SelectMimeType.ofImage()) + .setImageEngine(GlideEngine.createGlideEngine()) + .setCropEngine(new ImageFileCropEngine())// 璁剧疆瑁佸壀寮曟搸 + .isMaxSelectEnabledMask(true)// 杈惧埌鏈�澶ч�夋嫨鏁版槸鍚﹀紑鍚閫夎挋灞� + .setMaxSelectNum(1) + .forResult(new OnResultCallbackListener<LocalMedia>() { + @Override + public void onResult(ArrayList<LocalMedia> result) { + if (result.size() == 0) return; + for (LocalMedia media : result) { + if (media.isCut()){ + viewModel.updateInfo(media.getCutPath()); + }else { + viewModel.updateInfo(media.getRealPath()); + } + } + + } + + @Override + public void onCancel() { + + } + }); + } + }); } @Override @@ -128,4 +194,127 @@ protected boolean isStatusBarImmersionEnabled() { return true; } + + @Override + protected void dialogLoading() { + if (mWaitDialog == null) { + mWaitDialog = new WaitDialog.Builder(getSelfActivity()) + // 娑堟伅鏂囨湰鍙互涓嶇敤濉啓 + .setMessage("姝e湪涓婁紶澶村儚") + .create(); + } + if (!mWaitDialog.isShowing()) { + mWaitDialog.show(); + } + } + + @Override + protected void dialogDismiss() { + if (mWaitDialog != null && mWaitDialog.isShowing()) { + mWaitDialog.dismiss(); + mWaitDialog = null; + } + } + + /** + * 鑷畾涔夎鍓� + */ + private class ImageFileCropEngine implements CropFileEngine { + + @Override + public void onStartCrop(Fragment fragment, Uri srcUri, Uri destinationUri, ArrayList<String> dataSource, int requestCode) { + UCrop.Options options = buildOptions(); + UCrop uCrop = UCrop.of(srcUri, destinationUri, dataSource); + uCrop.withOptions(options); + uCrop.setImageEngine(new UCropImageEngine() { + @Override + public void loadImage(Context context, String url, ImageView imageView) { + Glide.with(context).load(url).override(180, 180).into(imageView); + } + + @Override + public void loadImage(Context context, Uri url, int maxWidth, int maxHeight, OnCallbackListener<Bitmap> call) { + Glide.with(context).asBitmap().load(url).override(maxWidth, maxHeight).into(new CustomTarget<Bitmap>() { + @Override + public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) { + if (call != null) { + call.onCall(resource); + } + } + + @Override + public void onLoadCleared(@Nullable Drawable placeholder) { + if (call != null) { + call.onCall(null); + } + } + }); + } + }); + uCrop.start(fragment.requireActivity(), fragment, requestCode); + } + } + /** + * 閰嶅埗UCrop锛屽彲鏍规嵁闇�姹傝嚜鎴戞墿灞� + * + * @return + */ + private UCrop.Options buildOptions() { + PictureSelectorStyle selectorStyle = new PictureSelectorStyle(); + + UCrop.Options options = new UCrop.Options(); + options.setHideBottomControls(true);//鏄惁鏄剧ず搴曢儴瑁佸壀鑿滃崟鏍� + options.setFreeStyleCropEnabled(false);//瑁佸壀妗唎r鍥剧墖鎷栧姩 + options.setShowCropFrame(true);//鏄惁鏄剧ず瑁佸壀杈规 + options.setShowCropGrid(true);//鏄惁鏄剧ず瑁佸壀缃戞牸绾� + options.setCircleDimmedLayer(false);//鏄惁鍦嗗舰瑁佸壀 + options.withAspectRatio(1, 1);//瑁佸壀姣斾緥 + options.setAspectRatioOptions(3, + new AspectRatio("16:9", 16, 9), + new AspectRatio("3:2", 3, 2), + new AspectRatio("4:3", 4, 3), + new AspectRatio("1:1", 1, 1));//鑷�夎鍓瘮渚嬶紝鍙梥etHideBottomControls褰卞搷鍙 + options.setCropOutputPathDir(getSandboxPath());//瑁佸壀杈撳嚭璺緞 + options.isCropDragSmoothToCenter(false);//瑁佸壀鎷栧姩鏄惁鑷姩灞呬腑 + options.isForbidSkipMultipleCrop(true);//鏄惁澶氬浘瑁佸壀鏃剁姝㈣烦杩� + options.setMaxScaleMultiplier(100);//璁剧疆鏈�澶х缉鏀炬瘮渚� + if (selectorStyle != null && selectorStyle.getSelectMainStyle().getStatusBarColor() != 0) { + SelectMainStyle mainStyle = selectorStyle.getSelectMainStyle(); + boolean isDarkStatusBarBlack = mainStyle.isDarkStatusBarBlack(); + int statusBarColor = mainStyle.getStatusBarColor(); + options.isDarkStatusBarBlack(isDarkStatusBarBlack); + if (StyleUtils.checkStyleValidity(statusBarColor)) { + options.setStatusBarColor(statusBarColor); + options.setToolbarColor(statusBarColor); + } else { + options.setStatusBarColor(ContextCompat.getColor(getSelfActivity(), com.luck.picture.lib.R.color.ps_color_grey)); + options.setToolbarColor(ContextCompat.getColor(getSelfActivity(), com.luck.picture.lib.R.color.ps_color_grey)); + } + TitleBarStyle titleBarStyle = selectorStyle.getTitleBarStyle(); + if (StyleUtils.checkStyleValidity(titleBarStyle.getTitleTextColor())) { + options.setToolbarWidgetColor(titleBarStyle.getTitleTextColor()); + } else { + options.setToolbarWidgetColor(ContextCompat.getColor(getSelfActivity(), com.luck.picture.lib.R.color.ps_color_white)); + } + } else { + options.setStatusBarColor(ContextCompat.getColor(getSelfActivity(), com.luck.picture.lib.R.color.ps_color_grey)); + options.setToolbarColor(ContextCompat.getColor(getSelfActivity(), com.luck.picture.lib.R.color.ps_color_grey)); + options.setToolbarWidgetColor(ContextCompat.getColor(getSelfActivity(), com.luck.picture.lib.R.color.ps_color_white)); + } + return options; + } + + /** + * 鍒涘缓鑷畾涔夎緭鍑虹洰褰� + * + * @return + */ + private String getSandboxPath() { + File externalFilesDir = getSelfActivity().getExternalFilesDir(""); + File customFile = new File(externalFilesDir.getAbsolutePath(), "Sandbox"); + if (!customFile.exists()) { + customFile.mkdirs(); + } + return customFile.getAbsolutePath() + File.separator; + } } diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java index 4f0edf6..a359b70 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/personal_center/PersonalCenterFragmentViewModel.java @@ -7,14 +7,29 @@ import androidx.annotation.NonNull; import androidx.lifecycle.MutableLiveData; +import com.android.app_base.base.StateViewEnum; import com.android.app_base.base.viewmodel.BaseViewModel; import com.android.app_base.http.ResultData; +import com.android.app_base.manager.UserManager; import com.android.app_base.utils.RxUtils; +import com.android.app_base.utils.rxbus.MessageEvent; +import com.android.app_base.utils.rxbus.RxBus; +import com.application.zhangshi_app_android.bean.BannerBean; import com.application.zhangshi_app_android.bean.GrowthExperienceInformationBean; +import com.application.zhangshi_app_android.bean.UploadFileResponseBean; import com.application.zhangshi_app_android.data.DataRepository; +import java.io.File; + +import io.reactivex.ObservableSource; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; +import io.reactivex.functions.Action; +import io.reactivex.functions.Consumer; +import io.reactivex.functions.Function; +import okhttp3.MediaType; +import okhttp3.MultipartBody; +import okhttp3.RequestBody; /** * @author Ljj @@ -48,6 +63,12 @@ public void onNext(ResultData<GrowthExperienceInformationBean> data) { if (data.getCode() == CODE_SUCCESS){ getInfoLiveData().postValue(data.getData()); + GrowthExperienceInformationBean informationBean = data.getData(); + if(informationBean != null){ + UserManager.getInstance().setUserName(informationBean.getNickName()); + UserManager.getInstance().setUserAvatar(informationBean.getImg()); + RxBus.getInstance().post(new MessageEvent(MessageEvent.EVENT_UPDATE_USER_INFO,informationBean)); + } }else { messageLiveData.postValue(data.getMsg()); } @@ -66,6 +87,72 @@ }); } + /** + * 淇敼涓汉淇℃伅锛堝ご鍍忥級 + */ + public void updateInfo(String realPath) { + File file = new File(realPath); + RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file); + MultipartBody.Part body = MultipartBody.Part.createFormData("uploadFile", file.getName(), requestBody); + model.uploadFile(body) + .flatMap(new Function<ResultData<UploadFileResponseBean>, ObservableSource<ResultData<String>>>() { + @Override + public ObservableSource<ResultData<String>> apply(ResultData<UploadFileResponseBean> resultData) throws Exception { + GrowthExperienceInformationBean bean = getInfoLiveData().getValue(); + if (bean == null){ + bean = new GrowthExperienceInformationBean(); + } + bean.setImg(resultData.getData().getUrl()); + infoLiveData.postValue(bean); + return model.updateGrowthExperienceInformation(bean); + } + }) + .compose(RxUtils.schedulersTransformer()) + .doOnSubscribe(new Consumer<Disposable>() { + @Override + public void accept(Disposable disposable) throws Exception { + changeStateView(StateViewEnum.DIALOG_LOADING); + } + }) + .doFinally(new Action() { + @Override + public void run() throws Exception { + changeStateView(StateViewEnum.DIALOG_DISMISS); + } + }) + .subscribe(new Observer<ResultData<String>>() { + @Override + public void onSubscribe(Disposable d) { + addSubscribe(d); + } + + @Override + public void onNext(ResultData<String> data) { + if (data.getCode() == CODE_SUCCESS){ + messageLiveData.postValue("澶村儚宸蹭笂浼�"); + GrowthExperienceInformationBean informationBean = getInfoLiveData().getValue(); + if(informationBean != null){ + UserManager.getInstance().setUserName(informationBean.getNickName()); + UserManager.getInstance().setUserAvatar(informationBean.getUrl()); + RxBus.getInstance().post(new MessageEvent(MessageEvent.EVENT_UPDATE_USER_INFO,informationBean)); + } + }else { + messageLiveData.postValue(data.getMsg()); + } + } + + @Override + public void onError(Throwable e) { + messageLiveData.postValue(e.getMessage()); + } + + @Override + public void onComplete() { + + } + }); + } + public MutableLiveData<GrowthExperienceInformationBean> getInfoLiveData() { if (infoLiveData == null){ diff --git a/app/src/main/java/com/application/zhangshi_app_android/widget/DoubleNode.java b/app/src/main/java/com/application/zhangshi_app_android/widget/DoubleNode.java index 5d0cf7c..7870d56 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/widget/DoubleNode.java +++ b/app/src/main/java/com/application/zhangshi_app_android/widget/DoubleNode.java @@ -45,8 +45,8 @@ } private void initView() { - memberItemView = createItemView(member); - spouseView = createItemView(member.getSpouse()); + memberItemView = createItemView(member, true); + spouseView = createItemView(member.getSpouse(),false); expandIconView = createExpandIconView(); viewList.add(memberItemView); viewList.add(spouseView); 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); + } } 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); + } + } } diff --git a/app/src/main/java/com/application/zhangshi_app_android/widget/SimpleNode.java b/app/src/main/java/com/application/zhangshi_app_android/widget/SimpleNode.java index db8e734..c19a3db 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/widget/SimpleNode.java +++ b/app/src/main/java/com/application/zhangshi_app_android/widget/SimpleNode.java @@ -42,7 +42,7 @@ } private void initView() { - memberItemView = createItemView(member); + memberItemView = createItemView(member,true); expandIconView = createExpandIconView(); viewList.add(memberItemView); viewList.add(expandIconView); diff --git a/app/src/main/res/drawable-xhdpi/bg_home_root.png b/app/src/main/res/drawable-xhdpi/bg_home_root.png new file mode 100644 index 0000000..745af55 --- /dev/null +++ b/app/src/main/res/drawable-xhdpi/bg_home_root.png Binary files differ diff --git a/app/src/main/res/drawable-xhdpi/ic_camera.png b/app/src/main/res/drawable-xhdpi/ic_camera.png new file mode 100644 index 0000000..2ae4e0f --- /dev/null +++ b/app/src/main/res/drawable-xhdpi/ic_camera.png Binary files differ diff --git a/app/src/main/res/drawable-xxhdpi/bg_home_root.png b/app/src/main/res/drawable-xxhdpi/bg_home_root.png new file mode 100644 index 0000000..15c155f --- /dev/null +++ b/app/src/main/res/drawable-xxhdpi/bg_home_root.png Binary files differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_camera.png b/app/src/main/res/drawable-xxhdpi/ic_camera.png new file mode 100644 index 0000000..9e78179 --- /dev/null +++ b/app/src/main/res/drawable-xxhdpi/ic_camera.png Binary files differ diff --git a/app/src/main/res/layout/activity_health_care.xml b/app/src/main/res/layout/activity_health_care.xml index 379a19d..7d5bb4d 100644 --- a/app/src/main/res/layout/activity_health_care.xml +++ b/app/src/main/res/layout/activity_health_care.xml @@ -1764,6 +1764,7 @@ android:layout_marginTop="10dp" app:cardCornerRadius="10dp" app:cardElevation="2dp" + app:cardBackgroundColor="@color/white" tools:layout_height="wrap_content" > <LinearLayout @@ -2605,6 +2606,7 @@ android:layout_marginTop="10dp" app:cardCornerRadius="10dp" app:cardElevation="2dp" + app:cardBackgroundColor="@color/white" tools:layout_height="wrap_content" > <LinearLayout diff --git a/app/src/main/res/layout/activity_home_devices_detail.xml b/app/src/main/res/layout/activity_home_devices_detail.xml index f49dd24..5120b2f 100644 --- a/app/src/main/res/layout/activity_home_devices_detail.xml +++ b/app/src/main/res/layout/activity_home_devices_detail.xml @@ -20,7 +20,7 @@ android:id="@+id/titleBar" android:layout_width="match_parent" android:layout_height="wrap_content" - app:title="@{viewModel.beanLiveData.id!=0?viewModel.beanLiveData.name:`娣诲姞璁惧`}" + app:title="@{viewModel.beanLiveData.id!=0?viewModel.beanLiveData.name:`娣诲姞瀹跺涵璁惧`}" app:titleGravity="left" > <FrameLayout diff --git a/app/src/main/res/layout/activity_little_doctor_detail.xml b/app/src/main/res/layout/activity_little_doctor_detail.xml index c19652a..dffe5f4 100644 --- a/app/src/main/res/layout/activity_little_doctor_detail.xml +++ b/app/src/main/res/layout/activity_little_doctor_detail.xml @@ -19,7 +19,7 @@ android:id="@+id/titleBar" android:layout_width="match_parent" android:layout_height="wrap_content" - app:title="@{viewModel.beanLiveData.symptom}" + app:title="@{viewModel.beanLiveData.id!=0?viewModel.beanLiveData.symptom:`鏂板灏忓尰鐢焋}" app:titleGravity="left" > <FrameLayout diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index b68a9b7..75361b6 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -39,6 +39,7 @@ android:layout_marginTop="-20dp" app:cardCornerRadius="15dp" app:cardElevation="0dp" + app:cardBackgroundColor="@color/white" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/iv_bg_home"> diff --git a/app/src/main/res/layout/activity_marriage.xml b/app/src/main/res/layout/activity_marriage.xml index 50a9d08..ae01890 100644 --- a/app/src/main/res/layout/activity_marriage.xml +++ b/app/src/main/res/layout/activity_marriage.xml @@ -377,6 +377,7 @@ android:layout_marginHorizontal="14dp" app:cardCornerRadius="10dp" app:cardElevation="3dp" + app:cardBackgroundColor="@color/white" tools:layout_height="wrap_content" > <LinearLayout @@ -573,6 +574,7 @@ android:layout_marginTop="10dp" app:cardCornerRadius="10dp" app:cardElevation="2dp" + app:cardBackgroundColor="@color/white" tools:layout_height="wrap_content" > <LinearLayout @@ -633,6 +635,7 @@ android:layout_marginTop="10dp" app:cardCornerRadius="10dp" app:cardElevation="2dp" + app:cardBackgroundColor="@color/white" tools:layout_height="wrap_content" > <LinearLayout diff --git a/app/src/main/res/layout/activity_property.xml b/app/src/main/res/layout/activity_property.xml index 29fc0cd..4760a0a 100644 --- a/app/src/main/res/layout/activity_property.xml +++ b/app/src/main/res/layout/activity_property.xml @@ -387,6 +387,98 @@ /> </LinearLayout> + <View + android:layout_width="match_parent" + android:layout_height="0.3dp" + android:background="#FF939393" /> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="40dp" + android:gravity="center"> + + <androidx.appcompat.widget.AppCompatTextView + android:layout_width="0dp" + android:layout_weight="1" + android:layout_height="match_parent" + android:text="鍙樻洿娉ㄩ攢" + android:textColor="#FF333333" + android:textSize="14sp" + android:gravity="center" + android:maxLines="1" + app:autoSizeTextType="uniform" + app:autoSizeMinTextSize="10sp" + app:autoSizeMaxTextSize="14sp" + /> + + <com.android.app_base.widget.ClearEditText + android:id="@+id/et_is_change" + android:layout_width="0dp" + android:layout_weight="4" + android:layout_height="wrap_content" + android:background="@null" + android:inputType="text" + android:layout_marginStart="6dp" + android:text="@={viewModel.requestBeanLiveData.isChange}" + android:hint="璇烽�夋嫨鍙樻洿鎴栨敞閿�" + android:textColorHint="#61000000" + android:textColor="#FF333333" + android:textSize="14sp" + android:maxLines="1" + app:autoSizeTextType="uniform" + app:autoSizeMinTextSize="10sp" + app:autoSizeMaxTextSize="14sp" + app:background="@drawable/ic_clear" + app:isEditable="@{false}" + /> + + </LinearLayout> + <View + android:layout_width="match_parent" + android:layout_height="0.3dp" + android:background="#FF939393" /> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="40dp" + android:gravity="center"> + + <androidx.appcompat.widget.AppCompatTextView + android:layout_width="0dp" + android:layout_weight="1" + android:layout_height="match_parent" + android:text="鏄惁娉ㄩ攢" + android:textColor="#FF333333" + android:textSize="14sp" + android:gravity="center" + android:maxLines="1" + app:autoSizeTextType="uniform" + app:autoSizeMinTextSize="10sp" + app:autoSizeMaxTextSize="14sp" + /> + + <com.android.app_base.widget.ClearEditText + android:id="@+id/et_is_logout" + android:layout_width="0dp" + android:layout_weight="4" + android:layout_height="wrap_content" + android:background="@null" + android:inputType="text" + android:layout_marginStart="6dp" + android:text="@={viewModel.requestBeanLiveData.statusStr}" + android:hint="璇烽�夋嫨鏄惁娉ㄩ攢" + android:textColorHint="#61000000" + android:textColor="#FF333333" + android:textSize="14sp" + android:maxLines="1" + app:autoSizeTextType="uniform" + app:autoSizeMinTextSize="10sp" + app:autoSizeMaxTextSize="14sp" + app:background="@drawable/ic_clear" + app:isEditable="@{false}" + /> + + </LinearLayout> </LinearLayout> </RelativeLayout> diff --git a/app/src/main/res/layout/dialog_toatal_add.xml b/app/src/main/res/layout/dialog_toatal_add.xml new file mode 100644 index 0000000..2ed5aa6 --- /dev/null +++ b/app/src/main/res/layout/dialog_toatal_add.xml @@ -0,0 +1,272 @@ +<?xml version="1.0" encoding="utf-8"?> +<layout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto"> + + <data> + + </data> + + <androidx.cardview.widget.CardView + android:layout_width="match_parent" + android:layout_height="wrap_content" + app:cardBackgroundColor="#FFFFFCFC" + app:cardCornerRadius="5dp" + android:layout_marginHorizontal="45dp" + android:layout_marginVertical="10dp" + > + + <ImageView + android:id="@+id/iv_dialog_close" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="15dp" + android:layout_marginEnd="15dp" + android:layout_gravity="end" + android:background="@drawable/ic_dialog_close" /> + + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="20dp" + android:layout_marginTop="40dp" + android:orientation="vertical" + android:gravity="center_horizontal"> + + <TextView + android:id="@+id/tv_title" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="璇烽�夋嫨闇�瑕佹柊澧炴潯鐩殑妯″潡" + android:textColor="#FF333333" + android:textSize="18sp" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" /> + + <LinearLayout + android:id="@+id/layout_family_memorabilia" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="16dp" + app:layout_constraintTop_toBottomOf="@id/tv_title" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.4" + > + + <ImageView + android:layout_width="18dp" + android:layout_height="18dp" + android:src="@drawable/function_notes" + android:layout_gravity="center_vertical" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="瀹跺ぇ浜嬭" + android:textColor="#FF333333" + android:textSize="16sp" + android:layout_marginStart="20dp" /> + </LinearLayout> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:background="#FFF3F3F3" + android:layout_marginTop="8dp" + android:layout_marginHorizontal="15dp" + app:layout_constraintTop_toBottomOf="@id/layout_family_memorabilia" /> + + <LinearLayout + android:id="@+id/layout_home_devices" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="16dp" + app:layout_constraintTop_toBottomOf="@id/layout_family_memorabilia" + app:layout_constraintStart_toStartOf="@id/layout_family_memorabilia"> + + <ImageView + android:layout_width="18dp" + android:layout_height="18dp" + android:src="@drawable/function_home_devices" + android:layout_gravity="center_vertical" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="瀹跺涵璁惧" + android:textColor="#FF333333" + android:textSize="16sp" + android:layout_marginStart="20dp" /> + </LinearLayout> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:background="#FFF3F3F3" + android:layout_marginTop="8dp" + android:layout_marginHorizontal="15dp" + app:layout_constraintTop_toBottomOf="@id/layout_home_devices" /> + + <LinearLayout + android:id="@+id/layout_little_doctor" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="16dp" + app:layout_constraintTop_toBottomOf="@id/layout_home_devices" + app:layout_constraintStart_toStartOf="@id/layout_family_memorabilia"> + + <ImageView + android:layout_width="18dp" + android:layout_height="18dp" + android:src="@drawable/function_little_doctor" + android:layout_gravity="center_vertical" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="灏忓尰鐢�" + android:textColor="#FF333333" + android:textSize="16sp" + android:layout_marginStart="20dp" /> + </LinearLayout> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:background="#FFF3F3F3" + android:layout_marginTop="8dp" + android:layout_marginHorizontal="15dp" + app:layout_constraintTop_toBottomOf="@id/layout_little_doctor" /> + + <LinearLayout + android:id="@+id/layout_clean_storage" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="16dp" + app:layout_constraintTop_toBottomOf="@id/layout_little_doctor" + app:layout_constraintStart_toStartOf="@id/layout_family_memorabilia"> + + <ImageView + android:layout_width="18dp" + android:layout_height="18dp" + android:src="@drawable/function_cleaning" + android:layout_gravity="center_vertical" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="淇濇磥鏀剁撼" + android:textColor="#FF333333" + android:textSize="16sp" + android:layout_marginStart="20dp" /> + </LinearLayout> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:background="#FFF3F3F3" + android:layout_marginTop="8dp" + android:layout_marginHorizontal="15dp" + app:layout_constraintTop_toBottomOf="@id/layout_clean_storage" /> + + <LinearLayout + android:id="@+id/layout_income_and_expenses" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="16dp" + app:layout_constraintTop_toBottomOf="@id/layout_clean_storage" + app:layout_constraintStart_toStartOf="@id/layout_family_memorabilia"> + + <ImageView + android:layout_width="18dp" + android:layout_height="18dp" + android:src="@drawable/function_income_expense" + android:layout_gravity="center_vertical" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="瀹跺涵鏀舵敮鍙拌处" + android:textColor="#FF333333" + android:textSize="16sp" + android:layout_marginStart="20dp" /> + </LinearLayout> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:background="#FFF3F3F3" + android:layout_marginTop="8dp" + android:layout_marginHorizontal="15dp" + app:layout_constraintTop_toBottomOf="@id/layout_income_and_expenses" /> + + + + <LinearLayout + android:id="@+id/layout_health_care" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="16dp" + app:layout_constraintTop_toBottomOf="@id/layout_income_and_expenses" + app:layout_constraintStart_toStartOf="@id/layout_family_memorabilia"> + + <ImageView + android:layout_width="18dp" + android:layout_height="18dp" + android:src="@drawable/function_health" + android:layout_gravity="center_vertical" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="鍋ュ悍淇濆仴" + android:textColor="#FF333333" + android:textSize="16sp" + android:layout_marginStart="20dp" /> + </LinearLayout> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:background="#FFF3F3F3" + android:layout_marginTop="8dp" + android:layout_marginHorizontal="15dp" + app:layout_constraintTop_toBottomOf="@id/layout_health_care" /> + + <LinearLayout + android:id="@+id/layout_tourism" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="16dp" + app:layout_constraintTop_toBottomOf="@id/layout_health_care" + app:layout_constraintStart_toStartOf="@id/layout_family_memorabilia"> + + <ImageView + android:layout_width="18dp" + android:layout_height="18dp" + android:src="@drawable/function_tour" + android:layout_gravity="center_vertical" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="鏃呮父" + android:textColor="#FF333333" + android:textSize="16sp" + android:layout_marginStart="20dp" /> + </LinearLayout> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:background="#FFF3F3F3" + android:layout_marginTop="8dp" + android:layout_marginHorizontal="15dp" + app:layout_constraintTop_toBottomOf="@id/layout_tourism" /> + + + </androidx.constraintlayout.widget.ConstraintLayout> + + </androidx.cardview.widget.CardView> +</layout> diff --git a/app/src/main/res/layout/fragment_function.xml b/app/src/main/res/layout/fragment_function.xml index 1894dab..3bdd176 100644 --- a/app/src/main/res/layout/fragment_function.xml +++ b/app/src/main/res/layout/fragment_function.xml @@ -73,7 +73,8 @@ </FrameLayout> </FrameLayout> - <LinearLayout + <FrameLayout + android:id="@+id/container" android:layout_width="match_parent" android:layout_height="0dp" android:orientation="vertical" @@ -573,11 +574,18 @@ </androidx.constraintlayout.widget.ConstraintLayout> </androidx.core.widget.NestedScrollView> + <com.google.android.material.floatingactionbutton.FloatingActionButton + android:id="@+id/fab_add" + android:layout_width="56dp" + android:layout_height="56dp" + android:layout_gravity="end | bottom" + android:layout_marginEnd="25dp" + android:layout_marginBottom="44dp" + android:src="@drawable/ic_add" + app:fabCustomSize="56dp" + /> - </LinearLayout> - - - + </FrameLayout> </androidx.constraintlayout.widget.ConstraintLayout> </layout> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 75e8a1f..be0ed04 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -38,1210 +38,42 @@ </FrameLayout> </com.android.app_base.widget.ExtendTitleBar> - - <androidx.constraintlayout.widget.ConstraintLayout + <com.otaliastudios.zoom.ZoomLayout + android:id="@+id/zoomLayout" android:layout_width="match_parent" - android:layout_height="match_parent" - android:id="@+id/layout_parent" + android:layout_height="0dp" + android:layout_weight="1" + android:scrollbars="vertical|horizontal" + app:transformation="centerInside" + app:transformationGravity="auto" + app:alignment="center" + app:overScrollHorizontal="true" + app:overScrollVertical="true" + app:overPinchable="true" + app:horizontalPanEnabled="true" + app:verticalPanEnabled="true" + app:zoomEnabled="true" + app:flingEnabled="true" + app:scrollEnabled="true" + app:oneFingerScrollEnabled="true" + app:twoFingersScrollEnabled="true" + app:threeFingersScrollEnabled="true" + app:minZoom="1" + app:minZoomType="zoom" + app:maxZoom="2.5" + app:maxZoomType="realZoom" + app:animationDuration="280" + app:hasClickableChildren="true" + android:background="@color/color_normal_background" > - <androidx.constraintlayout.widget.ConstraintLayout - android:id="@+id/layout_home_root_net" - android:layout_width="match_parent" - android:layout_height="match_parent" - tools:visibility="gone" - > - <ImageView - android:id="@+id/iv_treeView" - android:layout_width="match_parent" - android:layout_height="0dp" - app:layout_constraintDimensionRatio="360:417" - android:background="@drawable/bg_home_root_net" - app:layout_constraintBottom_toBottomOf="parent" /> - <ImageView - android:layout_width="match_parent" - android:layout_height="0dp" - android:background="@drawable/bg_home_root_net_grass" - app:layout_constraintBottom_toBottomOf="@id/iv_treeView" - app:layout_constraintDimensionRatio="350:217" - android:layout_marginBottom="-56dp" - /> - - </androidx.constraintlayout.widget.ConstraintLayout> - - <HorizontalScrollView - android:id="@+id/scrollView" + <com.application.zhangshi_app_android.widget.HomeMindMapLayout + android:id="@+id/scrollHomeMindMapLayout" android:layout_width="wrap_content" - android:layout_height="match_parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - android:orientation="horizontal" - android:visibility="gone" - tools:visibility="visible" - > - <androidx.constraintlayout.widget.ConstraintLayout - android:layout_width="wrap_content" - android:layout_height="match_parent" - > + android:layout_height="wrap_content" + /> - <ImageView - android:id="@+id/iv_treeView_diff" - android:layout_width="0dp" - android:layout_height="match_parent" - android:background="@drawable/bg_home_root_net_detail" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintDimensionRatio="676:505" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintHorizontal_bias="1.0" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintVertical_bias="0.0" /> + </com.otaliastudios.zoom.ZoomLayout> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_first_1" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.07" - app:layout_constraintHorizontal_bias="0.44" - app:layout_constraintVertical_bias="0.795" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <TextView - android:id="@+id/tv_first_1" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="30sp" - android:text="1" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF386C19" - app:layout_constraintHorizontal_bias="0.435" - app:layout_constraintVertical_bias="0.795" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_first_2" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.08" - app:layout_constraintHorizontal_bias="0.485" - app:layout_constraintVertical_bias="0.887" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <TextView - android:id="@+id/tv_first_2" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="30sp" - android:text="1" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF386C19" - app:layout_constraintHorizontal_bias="0.485" - app:layout_constraintVertical_bias="0.88" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_second_1_1" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.060" - app:layout_constraintHorizontal_bias="0.365" - app:layout_constraintVertical_bias="0.65" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <TextView - android:id="@+id/tv_second_1_1" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="30sp" - android:text="2" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93CD91" - app:layout_constraintHorizontal_bias="0.395" - app:layout_constraintVertical_bias="0.68" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_second_1_2" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.055" - app:layout_constraintHorizontal_bias="0.29" - app:layout_constraintVertical_bias="0.655" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <TextView - android:id="@+id/tv_second_1_2" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="2" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93CD91" - app:layout_constraintHorizontal_bias="0.325" - app:layout_constraintVertical_bias="0.65" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_second_2_1" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.065" - app:layout_constraintHorizontal_bias="0.425" - app:layout_constraintVertical_bias="0.585" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <TextView - android:id="@+id/tv_second_2_1" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="30sp" - android:text="2" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93CD91" - app:layout_constraintHorizontal_bias="0.455" - app:layout_constraintVertical_bias="0.62" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_second_2_2" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.055" - app:layout_constraintHorizontal_bias="0.37" - app:layout_constraintVertical_bias="0.52" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <TextView - android:id="@+id/tv_second_2_2" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="2" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93CD91" - app:layout_constraintHorizontal_bias="0.4" - app:layout_constraintVertical_bias="0.53" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_second_3_1" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.063" - app:layout_constraintHorizontal_bias="0.525" - app:layout_constraintVertical_bias="0.58" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <TextView - android:id="@+id/tv_second_3_1" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="30sp" - android:text="2" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93CD91" - app:layout_constraintHorizontal_bias="0.515" - app:layout_constraintVertical_bias="0.63" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_second_3_2" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.055" - app:layout_constraintHorizontal_bias="0.6" - app:layout_constraintVertical_bias="0.51" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <TextView - android:id="@+id/tv_second_3_2" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="2" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93CD91" - app:layout_constraintHorizontal_bias="0.58" - app:layout_constraintVertical_bias="0.545" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_second_4_1" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.063" - app:layout_constraintHorizontal_bias="0.6" - app:layout_constraintVertical_bias="0.65" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <TextView - android:id="@+id/tv_second_4_1" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="30sp" - android:text="2" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93CD91" - app:layout_constraintHorizontal_bias="0.565" - app:layout_constraintVertical_bias="0.68" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_second_4_2" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.07" - app:layout_constraintHorizontal_bias="0.685" - app:layout_constraintVertical_bias="0.63" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <TextView - android:id="@+id/tv_second_4_2" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="2" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93CD91" - app:layout_constraintHorizontal_bias="0.645" - app:layout_constraintVertical_bias="0.65" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_third_1_1" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.08" - app:layout_constraintHorizontal_bias="0.26" - app:layout_constraintVertical_bias="0.76" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <TextView - android:id="@+id/tv_third_1_1" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="20sp" - android:text="3" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93BE67" - app:layout_constraintHorizontal_bias="0.31" - app:layout_constraintVertical_bias="0.73" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_third_4_1" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.075" - app:layout_constraintHorizontal_bias="0.69" - app:layout_constraintVertical_bias="0.745" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <TextView - android:id="@+id/tv_third_4_1" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="20sp" - android:text="3" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93BE67" - app:layout_constraintHorizontal_bias="0.64" - app:layout_constraintVertical_bias="0.73" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_third_2_1" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.075" - app:layout_constraintHorizontal_bias="0.371" - app:layout_constraintVertical_bias="0.334" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <TextView - android:id="@+id/tv_third_2_1" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="20sp" - android:text="3" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93BE67" - app:layout_constraintHorizontal_bias="0.39" - app:layout_constraintVertical_bias="0.4" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_third_3_1" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.075" - app:layout_constraintHorizontal_bias="0.49" - app:layout_constraintVertical_bias="0.28" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - - <TextView - android:id="@+id/tv_third_3_1" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="20sp" - android:text="3" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93BE67" - app:layout_constraintHorizontal_bias="0.51" - app:layout_constraintVertical_bias="0.34" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_third_1_2" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.06" - app:layout_constraintHorizontal_bias="0.17" - app:layout_constraintVertical_bias="0.53" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - - <TextView - android:id="@+id/tv_third_1_2" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="20sp" - android:text="3" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93BE67" - app:layout_constraintHorizontal_bias="0.195" - app:layout_constraintVertical_bias="0.575" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_third_1_4" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.06" - app:layout_constraintHorizontal_bias="0.065" - app:layout_constraintVertical_bias="0.47" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - - <TextView - android:id="@+id/tv_third_1_4" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="20sp" - android:text="3" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93BE67" - app:layout_constraintHorizontal_bias="0.105" - app:layout_constraintVertical_bias="0.505" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_third_1_3" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.07" - app:layout_constraintHorizontal_bias="0.05" - app:layout_constraintVertical_bias="0.59" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - - <TextView - android:id="@+id/tv_third_1_3" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="3" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93BE67" - app:layout_constraintHorizontal_bias="0.105" - app:layout_constraintVertical_bias="0.62" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_third_2_2" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.06" - app:layout_constraintHorizontal_bias="0.295" - app:layout_constraintVertical_bias="0.315" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - - <TextView - android:id="@+id/tv_third_2_2" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="3" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93BE67" - app:layout_constraintHorizontal_bias="0.31" - app:layout_constraintVertical_bias="0.37" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_third_2_3" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.08" - app:layout_constraintHorizontal_bias="0.177" - app:layout_constraintVertical_bias="0.265" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - - <TextView - android:id="@+id/tv_third_2_3" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="3" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93BE67" - app:layout_constraintHorizontal_bias="0.22" - app:layout_constraintVertical_bias="0.34" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - android:rotation="-30" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_third_2_4" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.06" - app:layout_constraintHorizontal_bias="0.33" - app:layout_constraintVertical_bias="0.115" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - - <TextView - android:id="@+id/tv_third_2_4" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="3" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93BE67" - app:layout_constraintHorizontal_bias="0.335" - app:layout_constraintVertical_bias="0.17" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_third_3_2" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.08" - app:layout_constraintHorizontal_bias="0.485" - app:layout_constraintVertical_bias="0.08" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - - <TextView - android:id="@+id/tv_third_3_2" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="3" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93BE67" - app:layout_constraintHorizontal_bias="0.47" - app:layout_constraintVertical_bias="0.16" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_third_3_3" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.07" - app:layout_constraintHorizontal_bias="0.685" - app:layout_constraintVertical_bias="0.24" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - - <TextView - android:id="@+id/tv_third_3_3" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="3" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93BE67" - app:layout_constraintHorizontal_bias="0.67" - app:layout_constraintVertical_bias="0.31" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_third_3_4" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.08" - app:layout_constraintHorizontal_bias="0.745" - app:layout_constraintVertical_bias="0.08" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - - <TextView - android:id="@+id/tv_third_3_4" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="3" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93BE67" - app:layout_constraintHorizontal_bias="0.735" - app:layout_constraintVertical_bias="0.16" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_third_4_2" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:roundPercent="1" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.08" - app:layout_constraintHorizontal_bias="0.885" - app:layout_constraintVertical_bias="0.32" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - - <TextView - android:id="@+id/tv_third_4_2" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="3" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF93BE67" - app:layout_constraintHorizontal_bias="0.84" - app:layout_constraintVertical_bias="0.38" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - android:rotation="20" - /> - - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_fourth_4_3" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.06" - app:layout_constraintHorizontal_bias="0.815" - app:layout_constraintVertical_bias="0.665" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:roundPercent="1" - /> - - <TextView - android:id="@+id/tv_fourth_4_3" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="4" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF3F7E00" - app:layout_constraintHorizontal_bias="0.77" - app:layout_constraintVertical_bias="0.66" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_fourth_4_2" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.07" - app:layout_constraintHorizontal_bias="0.876" - app:layout_constraintVertical_bias="0.545" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:roundPercent="1" - /> - - <TextView - android:id="@+id/tv_fourth_4_2" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="4" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF3F7E00" - app:layout_constraintHorizontal_bias="0.825" - app:layout_constraintVertical_bias="0.57" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_fourth_4_1" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.06" - app:layout_constraintHorizontal_bias="0.785" - app:layout_constraintVertical_bias="0.46" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:roundPercent="1" - /> - - <TextView - android:id="@+id/tv_fourth_4_1" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="4" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF3F7E00" - app:layout_constraintHorizontal_bias="0.76" - app:layout_constraintVertical_bias="0.505" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_fourth_3_3" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.06" - app:layout_constraintHorizontal_bias="0.79" - app:layout_constraintVertical_bias="0.263" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:roundPercent="1" - /> - - <TextView - android:id="@+id/tv_fourth_3_3" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="4" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF3F7E00" - app:layout_constraintHorizontal_bias="0.755" - app:layout_constraintVertical_bias="0.295" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_fourth_3_2" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.06" - app:layout_constraintHorizontal_bias="0.6455" - app:layout_constraintVertical_bias="0.115" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:roundPercent="1" - /> - - <TextView - android:id="@+id/tv_fourth_3_2" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="4" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF3F7E00" - app:layout_constraintHorizontal_bias="0.63" - app:layout_constraintVertical_bias="0.17" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_fourth_3_1" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.06" - app:layout_constraintHorizontal_bias="0.584" - app:layout_constraintVertical_bias="0.22" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:roundPercent="1" - /> - - <TextView - android:id="@+id/tv_fourth_3_1" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="4" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF3F7E00" - app:layout_constraintHorizontal_bias="0.565" - app:layout_constraintVertical_bias="0.275" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - android:rotation="20" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_fourth_3_4" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.07" - app:layout_constraintHorizontal_bias="0.575" - app:layout_constraintVertical_bias="0.06" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:roundPercent="1" - /> - - <TextView - android:id="@+id/tv_fourth_3_4" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="4" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF3F7E00" - app:layout_constraintHorizontal_bias="0.57" - app:layout_constraintVertical_bias="0.125" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_fourth_2_3" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.06" - app:layout_constraintHorizontal_bias="0.415" - app:layout_constraintVertical_bias="0.225" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:roundPercent="1" - /> - - <TextView - android:id="@+id/tv_fourth_2_3" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="4" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF3F7E00" - app:layout_constraintHorizontal_bias="0.425" - app:layout_constraintVertical_bias="0.285" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - android:rotation="-10" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_fourth_2_4" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.05" - app:layout_constraintHorizontal_bias="0.403" - app:layout_constraintVertical_bias="0.05" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:roundPercent="1" - /> - - <TextView - android:id="@+id/tv_fourth_2_4" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="20sp" - android:text="4" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF3F7E00" - app:layout_constraintHorizontal_bias="0.41" - app:layout_constraintVertical_bias="0.095" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - android:rotation="-10" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_fourth_2_2" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.07" - app:layout_constraintHorizontal_bias="0.228" - app:layout_constraintVertical_bias="0.13" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:roundPercent="1" - /> - - <TextView - android:id="@+id/tv_fourth_2_2" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="4" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF3F7E00" - app:layout_constraintHorizontal_bias="0.24" - app:layout_constraintVertical_bias="0.2" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_fourth_2_1" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.06" - app:layout_constraintHorizontal_bias="0.19" - app:layout_constraintVertical_bias="0.41" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:roundPercent="1" - /> - <TextView - android:id="@+id/tv_fourth_2_1" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="4" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF3F7E00" - app:layout_constraintHorizontal_bias="0.24" - app:layout_constraintVertical_bias="0.44" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - android:rotation="-10" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_fourth_1_2" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.06" - app:layout_constraintHorizontal_bias="0.064" - app:layout_constraintVertical_bias="0.32" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:roundPercent="1" - /> - <TextView - android:id="@+id/tv_fourth_1_2" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="4" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF3F7E00" - app:layout_constraintHorizontal_bias="0.1" - app:layout_constraintVertical_bias="0.37" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - android:rotation="-10" - /> - <androidx.constraintlayout.utils.widget.ImageFilterView - android:id="@+id/iv_fourth_1_1" - android:layout_width="0dp" - android:layout_height="0dp" - android:background="@drawable/img_sakura" - app:layout_constraintDimensionRatio="1" - app:layout_constraintHeight_percent="0.06" - app:layout_constraintHorizontal_bias="0.086" - app:layout_constraintVertical_bias="0.724" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - app:roundPercent="1" - /> - <TextView - android:id="@+id/tv_fourth_1_1" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textSize="24sp" - android:text="4" - android:fontFamily="@font/cookie_regular" - android:textColor="#FF3F7E00" - app:layout_constraintHorizontal_bias="0.13" - app:layout_constraintVertical_bias="0.705" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintBottom_toBottomOf="parent" - android:rotation="-20" - /> - </androidx.constraintlayout.widget.ConstraintLayout> - </HorizontalScrollView> - - </androidx.constraintlayout.widget.ConstraintLayout> </LinearLayout> </layout> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_personal_center.xml b/app/src/main/res/layout/fragment_personal_center.xml index 54ea096..feef559 100644 --- a/app/src/main/res/layout/fragment_personal_center.xml +++ b/app/src/main/res/layout/fragment_personal_center.xml @@ -69,6 +69,7 @@ > <androidx.constraintlayout.utils.widget.ImageFilterView + android:id="@+id/iv_head" android:layout_width="0dp" android:layout_height="0dp" android:layout_marginVertical="25dp" @@ -81,6 +82,15 @@ app:roundPercent="1" app:imageUrl="@{viewModel.infoLiveData.img}" /> + <ImageView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/ic_camera" + app:layout_constraintStart_toStartOf="@id/iv_head" + app:layout_constraintEnd_toEndOf="@id/iv_head" + app:layout_constraintBottom_toBottomOf="@id/iv_head" + android:layout_marginBottom="-15dp" + /> <View android:layout_width="match_parent" android:layout_height="1dp" diff --git a/app/src/main/res/layout/item_family_member.xml b/app/src/main/res/layout/item_family_member.xml index 173e952..a625660 100644 --- a/app/src/main/res/layout/item_family_member.xml +++ b/app/src/main/res/layout/item_family_member.xml @@ -11,6 +11,7 @@ android:layout_height="wrap_content" app:cardCornerRadius="10dp" app:cardElevation="5dp" + app:cardBackgroundColor="@color/white" android:layout_margin="1dp"> <LinearLayout @@ -39,7 +40,7 @@ android:layout_height="30dp" android:layout_marginStart="8dp" android:layout_marginEnd="10dp" - android:background="@drawable/img_sakura" + android:scaleType="fitCenter" app:roundPercent="1" /> <!-- 鍚嶅瓧 --> @@ -49,7 +50,8 @@ android:layout_height="wrap_content" android:text="鏋椾匠鏋椾匠" android:textSize="16sp" - android:textColor="#FF5F6980" + android:textStyle="bold" + android:textColor="#FFF6739F" android:ellipsize="marquee" android:singleLine="true" android:focusable="true" diff --git a/app/src/main/res/layout/pop_basic_information.xml b/app/src/main/res/layout/pop_basic_information_double.xml similarity index 99% rename from app/src/main/res/layout/pop_basic_information.xml rename to app/src/main/res/layout/pop_basic_information_double.xml index a4289b2..cfd179b 100644 --- a/app/src/main/res/layout/pop_basic_information.xml +++ b/app/src/main/res/layout/pop_basic_information_double.xml @@ -46,7 +46,6 @@ android:layout_height="0dp" app:layout_constraintDimensionRatio="1" app:layout_constraintWidth_percent="0.3" - android:background="@color/teal_200" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="@id/layout_personal_3" @@ -803,7 +802,6 @@ android:layout_height="0dp" app:layout_constraintDimensionRatio="1" app:layout_constraintWidth_percent="0.3" - android:background="@color/teal_200" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="@id/layout_spouse_3" diff --git a/app/src/main/res/layout/pop_basic_information_single.xml b/app/src/main/res/layout/pop_basic_information_single.xml new file mode 100644 index 0000000..6391e71 --- /dev/null +++ b/app/src/main/res/layout/pop_basic_information_single.xml @@ -0,0 +1,761 @@ +<?xml version="1.0" encoding="utf-8"?> +<layout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools"> + + <data> + <variable + name="selfBean" + type="com.application.zhangshi_app_android.bean.HomeRootBean" + /> + </data> + + <FrameLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + > + <ScrollView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@color/transparent" + android:layout_gravity="center" + > + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:background="@color/transparent"> + + <androidx.cardview.widget.CardView + android:layout_width="match_parent" + android:layout_height="wrap_content" + app:cardCornerRadius="6dp" + app:cardBackgroundColor="#F6FFFFFF" + app:cardElevation="5dp" + android:layout_marginHorizontal="10dp" + android:layout_marginVertical="15dp"> + + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_marginEnd="7dp" + android:layout_marginStart="10dp" + android:layout_marginVertical="24dp"> + + <androidx.constraintlayout.utils.widget.ImageFilterView + android:id="@+id/iv_photo" + android:layout_width="0dp" + android:layout_height="0dp" + app:layout_constraintDimensionRatio="1" + app:layout_constraintWidth_percent="0.55" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintBottom_toBottomOf="@id/layout_personal_1" + app:round="10dp" + app:imageUrl="@{selfBean.img}" + /> + + <TextView + android:id="@+id/tv_basic_personal_information" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="10dp" + android:text="涓汉鍩烘湰淇℃伅" + android:textColor="#99000000" + android:textSize="10sp" + app:layout_constraintStart_toEndOf="@id/iv_photo" + app:layout_constraintTop_toTopOf="@id/iv_photo" + app:layout_constraintBottom_toTopOf="@id/layout_personal_1" + /> + + <LinearLayout + android:id="@+id/layout_personal_1" + android:layout_width="0dp" + android:layout_height="wrap_content" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="@+id/tv_basic_personal_information" + app:layout_constraintTop_toBottomOf="@id/tv_basic_personal_information" + app:layout_constraintBottom_toBottomOf="@id/iv_photo" + android:layout_marginTop="10dp" + android:orientation="vertical" + > + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + > + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/shape_fffad1e0_10_10_0_10" + android:paddingHorizontal="6dp" + android:paddingVertical="3dp" + android:text="濮撳悕" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="match_parent" + > + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingHorizontal="6dp" + android:text="@{selfBean.nickName}" + android:textColor="#FF000000" + android:textSize="12sp" + android:layout_gravity="center_vertical" + app:textOverflowMode="@{4}" + tools:text="aaaaaaaaaaaaaaaaaaaaaaaaa" + /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_gravity="bottom" + android:background="#FFFAD1E0" /> + </FrameLayout> + </LinearLayout> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="10dp" + > + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/shape_fffad1e0_10_10_0_10" + android:paddingHorizontal="6dp" + android:paddingVertical="3dp" + android:text="鎬у埆" + android:textColor="#FF000000" + android:textSize="12sp" + /> + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="match_parent" + > + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingHorizontal="6dp" + android:text="@{selfBean.sex==1?`鐢穈:`濂砢}" + android:textColor="#FF000000" + android:textSize="12sp" + android:layout_gravity="center_vertical" + app:textOverflowMode="@{4}" + /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_gravity="bottom" + android:background="#FFFAD1E0" /> + </FrameLayout> + + </LinearLayout> + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="10dp" + > + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/shape_fffad1e0_10_10_0_10" + android:paddingHorizontal="6dp" + android:paddingVertical="3dp" + android:text="韬唤" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="match_parent" + > + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingHorizontal="6dp" + android:text="@{`绗琡+ selfBean.identity + `浠}" + android:textColor="#FF000000" + android:textSize="12sp" + android:layout_gravity="center_vertical" + app:textOverflowMode="@{4}" + /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_gravity="bottom" + android:background="#FFFAD1E0" /> + </FrameLayout> + </LinearLayout> + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="10dp"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/shape_fffad1e0_10_10_0_10" + android:paddingHorizontal="6dp" + android:paddingVertical="3dp" + android:text="鐢熸棩" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="match_parent"> + + <androidx.appcompat.widget.AppCompatTextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@{selfBean.birth}" + android:textColor="#FF000000" + android:textSize="12sp" + app:autoSizeTextType="uniform" + app:autoSizeMaxTextSize="16sp" + app:autoSizeMinTextSize="10sp" + android:ellipsize="end" + android:maxLines="1" + android:layout_gravity="center" + tools:text="2001-01-01" + /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_gravity="bottom" + android:background="#FFFAD1E0" /> + </FrameLayout> + + </LinearLayout> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="10dp" + > + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/shape_fffad1e0_10_10_0_10" + android:paddingHorizontal="6dp" + android:paddingVertical="3dp" + android:text="鏇剧敤鍚�" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="match_parent" + > + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingHorizontal="6dp" + android:layout_gravity="center_vertical" + app:textOverflowMode="@{4}" + android:text="@{selfBean.oldName}" + android:textColor="#FF000000" + android:textSize="12sp" + /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_gravity="bottom" + android:background="#FFFAD1E0" /> + </FrameLayout> + </LinearLayout> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="10dp"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/shape_fffad1e0_10_10_0_10" + android:paddingHorizontal="6dp" + android:paddingVertical="3dp" + android:text="姘戞棌" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="match_parent"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingHorizontal="6dp" + android:text="@{selfBean.nation}" + android:textColor="#FF000000" + android:textSize="12sp" + android:layout_gravity="center_vertical" + app:textOverflowMode="@{4}" + /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_gravity="bottom" + android:background="#FFFAD1E0" /> + </FrameLayout> + + </LinearLayout> + </LinearLayout> + + + <LinearLayout + android:id="@+id/layout_personal_4" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginTop="24dp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/layout_personal_1"> + + <LinearLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/shape_fffad1e0_10_10_0_10" + android:paddingHorizontal="6dp" + android:paddingVertical="3dp" + android:text="濠氬Щ鐘跺喌" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="match_parent"> + + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:paddingHorizontal="6dp" + android:layout_gravity="center_vertical" + app:textOverflowMode="@{4}" + android:text="@{selfBean.maritalStatusStr}" + android:textColor="#FF000000" + android:textSize="12sp" + /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_gravity="bottom" + android:background="#FFFAD1E0" /> + </FrameLayout> + </LinearLayout> + + <LinearLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_marginStart="10dp"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/shape_fffad1e0_10_10_0_10" + android:paddingHorizontal="6dp" + android:paddingVertical="3dp" + android:text="閰嶅伓" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="match_parent"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + app:textOverflowMode="@{4}" + android:paddingHorizontal="6dp" + android:text="@{selfBean.spouse.nickName}" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_gravity="bottom" + android:background="#FFFAD1E0" /> + </FrameLayout> + + </LinearLayout> + </LinearLayout> + + <LinearLayout + android:id="@+id/layout_personal_5" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginTop="16dp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/layout_personal_4"> + + <LinearLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/shape_fffad1e0_10_10_0_10" + android:paddingHorizontal="6dp" + android:paddingVertical="3dp" + android:text="鎴风睄鍦板潃" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="match_parent"> + + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + app:textOverflowMode="@{4}" + android:paddingHorizontal="6dp" + android:text="@{selfBean.locationAddress}" + android:textColor="#FF000000" + android:textSize="12sp" + /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_gravity="bottom" + android:background="#FFFAD1E0" /> + </FrameLayout> + </LinearLayout> + + <LinearLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_marginStart="10dp"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/shape_fffad1e0_10_10_0_10" + android:paddingHorizontal="6dp" + android:paddingVertical="3dp" + android:text="鑱旂郴鏂瑰紡" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="match_parent"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + app:textOverflowMode="@{4}" + android:paddingHorizontal="6dp" + android:text="@{selfBean.phoneNumber}" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_gravity="bottom" + android:background="#FFFAD1E0" /> + </FrameLayout> + + </LinearLayout> + </LinearLayout> + + <LinearLayout + android:id="@+id/layout_personal_6" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginTop="16dp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/layout_personal_5"> + + <LinearLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/shape_fffad1e0_10_10_0_10" + android:paddingHorizontal="6dp" + android:paddingVertical="3dp" + android:text="甯镐綇鍦板潃" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="match_parent"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + app:textOverflowMode="@{4}" + android:paddingHorizontal="6dp" + android:text="@{selfBean.alwaysAddress}" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_gravity="bottom" + android:background="#FFFAD1E0" /> + </FrameLayout> + </LinearLayout> + + <LinearLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_marginStart="10dp"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/shape_fffad1e0_10_10_0_10" + android:paddingHorizontal="6dp" + android:paddingVertical="3dp" + android:text="寰俊鍙�" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="match_parent"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + app:textOverflowMode="@{4}" + android:paddingHorizontal="6dp" + android:text="@{selfBean.wxNo}" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_gravity="bottom" + android:background="#FFFAD1E0" /> + </FrameLayout> + + </LinearLayout> + </LinearLayout> + + <LinearLayout + android:id="@+id/layout_personal_7" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginTop="16dp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/layout_personal_6"> + + <LinearLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/shape_fffad1e0_10_10_0_10" + android:paddingHorizontal="6dp" + android:paddingVertical="3dp" + android:text="鏀挎不闈㈣矊" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="match_parent"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + app:textOverflowMode="@{4}" + android:paddingHorizontal="6dp" + android:text="@{selfBean.politicalOutlook}" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_gravity="bottom" + android:background="#FFFAD1E0" /> + </FrameLayout> + </LinearLayout> + + <LinearLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_marginStart="10dp"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/shape_fffad1e0_10_10_0_10" + android:paddingHorizontal="6dp" + android:paddingVertical="3dp" + android:text="QQ鍙�" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="match_parent"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + app:textOverflowMode="@{4}" + android:paddingHorizontal="6dp" + android:text="@{selfBean.qqNo}" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_gravity="bottom" + android:background="#FFFAD1E0" /> + </FrameLayout> + + </LinearLayout> + </LinearLayout> + + <LinearLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_marginTop="16dp" + + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/layout_personal_7"> + + <LinearLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/shape_fffad1e0_10_10_0_10" + android:paddingHorizontal="6dp" + android:paddingVertical="3dp" + android:text="鎵�鍦ㄥ崟浣�" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="match_parent"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + app:textOverflowMode="@{4}" + android:paddingHorizontal="6dp" + android:text="@{selfBean.unit}" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_gravity="bottom" + android:background="#FFFAD1E0" /> + </FrameLayout> + </LinearLayout> + + <LinearLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_marginStart="10dp"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/shape_fffad1e0_10_10_0_10" + android:paddingHorizontal="6dp" + android:paddingVertical="3dp" + android:text="鑱屽姟" + android:textColor="#FF000000" + android:textSize="12sp" /> + + <FrameLayout + android:layout_width="wrap_content" + android:layout_height="match_parent"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + app:textOverflowMode="@{4}" + android:paddingHorizontal="6dp" + android:text="@{selfBean.position}" + android:textColor="#FF000000" + android:textSize="12sp" + tools:text="鑱屽姟" + /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_gravity="bottom" + android:background="#FFFAD1E0" /> + </FrameLayout> + + </LinearLayout> + </LinearLayout> + + </androidx.constraintlayout.widget.ConstraintLayout> + + </androidx.cardview.widget.CardView> + + </LinearLayout> + + </ScrollView> + + </FrameLayout> +</layout> \ No newline at end of file diff --git a/app/src/main/res/layout/pop_operate_home_root_net.xml b/app/src/main/res/layout/pop_operate_home_root_net.xml index 0a306a5..55172ab 100644 --- a/app/src/main/res/layout/pop_operate_home_root_net.xml +++ b/app/src/main/res/layout/pop_operate_home_root_net.xml @@ -15,81 +15,10 @@ android:gravity="center_horizontal" > <TextView - android:id="@+id/tv_first" - android:layout_width="match_parent" - android:layout_height="32dp" - android:gravity="center" - android:text="鍙樉绀虹涓�浠�" - android:textColor="#FF333333" - android:textSize="12sp" - /> - <View - android:layout_width="match_parent" - android:layout_height="0.3dp" - android:background="#FF939393" - /> - <TextView - android:id="@+id/tv_second" - android:layout_width="match_parent" - android:layout_height="32dp" - android:text="鏄剧ず鑷崇浜屼唬" - android:gravity="center" - android:textColor="#FF333333" - android:textSize="12sp" - /> - <View - android:layout_width="match_parent" - android:layout_height="0.3dp" - android:background="#FF939393" - /> - - <TextView - android:id="@+id/tv_third" - android:layout_width="match_parent" - android:layout_height="32dp" - android:text="鏄剧ず鑷崇涓変唬" - android:gravity="center" - android:textColor="#FF333333" - android:textSize="12sp" - /> - <View - android:layout_width="match_parent" - android:layout_height="0.3dp" - android:background="#FF939393" - /> - <TextView - android:id="@+id/tv_all" - android:layout_width="match_parent" - android:layout_height="32dp" - android:text="鏄剧ず鍏ㄩ儴" - android:gravity="center" - android:textColor="#FF333333" - android:textSize="12sp" - /> - <View - android:layout_width="match_parent" - android:layout_height="0.3dp" - android:background="#FF939393" - /> - <TextView android:id="@+id/tv_family" android:layout_width="match_parent" android:layout_height="32dp" android:text="瀹惰氨" - android:gravity="center" - android:textColor="#FF333333" - android:textSize="12sp" - /> - <View - android:layout_width="match_parent" - android:layout_height="0.3dp" - android:background="#FF939393" - /> - <TextView - android:id="@+id/tv_relation" - android:layout_width="match_parent" - android:layout_height="32dp" - android:text="瀹舵棌鍏崇郴" android:gravity="center" android:textColor="#FF333333" android:textSize="12sp" diff --git a/app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java b/app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java index aa5a3ff..8a06b68 100644 --- a/app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java +++ b/app_base/src/main/java/com/android/app_base/base/view/BaseActivity.java @@ -5,6 +5,7 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.text.TextUtils; import android.view.View; import android.view.ViewGroup; import android.view.Window; @@ -30,6 +31,7 @@ import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; +import java.util.Set; /** * Activity鍩虹被,鎵�鏈夌殑 Activity 閮借缁ф壙姝ょ被 @@ -171,7 +173,9 @@ viewModel.getMessageLivaData().observe(this, new Observer<String>() { @Override public void onChanged(String message) { - ToastUtils.showShort(message); + if (!TextUtils.isEmpty(message)){ + ToastUtils.showShort(message); + } } }); } diff --git a/app_base/src/main/java/com/android/app_base/base/view/BaseFragment.java b/app_base/src/main/java/com/android/app_base/base/view/BaseFragment.java index 42d1ef2..2a4d160 100644 --- a/app_base/src/main/java/com/android/app_base/base/view/BaseFragment.java +++ b/app_base/src/main/java/com/android/app_base/base/view/BaseFragment.java @@ -19,6 +19,7 @@ import com.android.app_base.base.StateViewEnum; import com.android.app_base.base.action.ClickAction; import com.android.app_base.base.viewmodel.BaseViewModel; +import com.blankj.utilcode.util.ToastUtils; import com.gyf.immersionbar.ImmersionBar; import com.hjq.bar.TitleBar; @@ -181,6 +182,14 @@ } } }); + viewModel.getMessageLivaData().observe(this, new Observer<String>() { + @Override + public void onChanged(String message) { + if (message != null){ + ToastUtils.showShort(message); + } + } + }); } /** * 缂虹渷椤电瓑鐘舵�佽鍥剧殑鏇存柊 -- Gitblit v1.9.1