From 82e57df230ecb744af6c8865f80870ba03c86d89 Mon Sep 17 00:00:00 2001 From: Linjiajia <319408893@qq.com> Date: 星期二, 25 七月 2023 22:18:27 +0800 Subject: [PATCH] 基本功能完成 --- app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivity.java | 42 ++++++++++++++++++++++++++++++++++-------- 1 files changed, 34 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivity.java index ed52c83..3821393 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivity.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/GrowthExperienceActivity.java @@ -99,6 +99,26 @@ mOperatePopupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,85) +binding.ivOperate.getWidth(),0); }); + final int SCROLL_THRESHOLD = 400; // 婊戝姩闃堝�硷紝鎸夐挳鍦ㄦ粦鍔ㄨ秴杩囪闃堝�煎悗寮�濮嬫牴鎹秴鍑洪槇鍊艰窛绂绘笎娓愭樉绀哄嚭鏉� + final int SCROLL_DISTANCE = 400; // 鎸夐挳浠庨殣钘忓埌鍏ㄩ儴鏄剧ず鍑烘潵闇�瑕佹粦鍔ㄧ殑璺濈 + binding.fabMoveToTop.setAlpha(0f); + binding.nestedScrollView.setOnScrollChangeListener(new View.OnScrollChangeListener() { + @Override + public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { + // 褰撴粦鍔ㄨ窛绂昏秴杩囬槇鍊间竴鍗婃椂锛屽紑濮嬫參鎱㈡樉绀烘寜閽� + if (scrollY >= SCROLL_THRESHOLD) { + // 鏍规嵁婊戝姩璺濈璁剧疆鎸夐挳閫忔槑搴� + float alpha = Math.min(1.0f, (float) (scrollY - SCROLL_THRESHOLD) / SCROLL_DISTANCE); + binding.fabMoveToTop.setAlpha(alpha); + } else { + binding.fabMoveToTop.setAlpha(0f); + } + } + }); + binding.fabMoveToTop.setOnClickListener(v -> { + // 鐐瑰嚮鎸夐挳杩斿洖椤堕儴 + binding.nestedScrollView.smoothScrollTo(0, 0); + }); } @Override @@ -116,12 +136,12 @@ public void initLiveDataObserve() { viewModel.getIsExperienceExpendedLiveData().observe(this, aBoolean -> { if (aBoolean){ - binding.ivExperienceFold.setOnClickListener(view -> { + binding.layoutExperienceTitle.setOnClickListener(view -> { collapseView(binding.layoutExperience,binding.layoutExperienceTitle); viewModel.getIsExperienceExpendedLiveData().setValue(false); }); }else { - binding.ivExperienceFold.setOnClickListener(view -> { + binding.layoutExperienceTitle.setOnClickListener(view -> { expendView(binding.layoutExperience); viewModel.getIsExperienceExpendedLiveData().setValue(true); }); @@ -129,12 +149,12 @@ }); viewModel.getIsRelationExpendedLiveData().observe(this, aBoolean -> { if (aBoolean){ - binding.ivRelationFold.setOnClickListener(view -> { + binding.layoutRelationTitle.setOnClickListener(view -> { collapseView(binding.layoutRelation,binding.layoutRelationTitle); viewModel.getIsRelationExpendedLiveData().setValue(false); }); }else { - binding.ivRelationFold.setOnClickListener(view -> { + binding.layoutRelationTitle.setOnClickListener(view -> { expendView(binding.layoutRelation); viewModel.getIsRelationExpendedLiveData().setValue(true); }); @@ -142,12 +162,12 @@ }); viewModel.getIsHolderExpendedLiveData().observe(this, aBoolean -> { if (aBoolean){ - binding.ivHolderFold.setOnClickListener(view -> { + binding.layoutHolderTitle.setOnClickListener(view -> { collapseView(binding.layoutHolder,binding.layoutHolderTitle); viewModel.getIsHolderExpendedLiveData().setValue(false); }); }else { - binding.ivHolderFold.setOnClickListener(view -> { + binding.layoutHolderTitle.setOnClickListener(view -> { expendView(binding.layoutHolder); viewModel.getIsHolderExpendedLiveData().setValue(true); }); @@ -155,12 +175,12 @@ }); viewModel.getIsAbroadExpendedLiveData().observe(this, aBoolean -> { if (aBoolean){ - binding.ivAbroadFold.setOnClickListener(view -> { + binding.layoutAbroadTitle.setOnClickListener(view -> { collapseView(binding.layoutAbroad,binding.layoutAbroadTitle); viewModel.getIsAbroadExpendedLiveData().setValue(false); }); }else { - binding.ivAbroadFold.setOnClickListener(view -> { + binding.layoutAbroadTitle.setOnClickListener(view -> { expendView(binding.layoutAbroad); viewModel.getIsAbroadExpendedLiveData().setValue(true); }); @@ -193,6 +213,12 @@ viewModel.getAutobiographyLiveData().observe(this, new Observer<List<GrowthExperienceAutobiographyBean>>() { @Override public void onChanged(List<GrowthExperienceAutobiographyBean> beans) { + if (beans==null||beans.size() == 0 ){ + binding.tvFill.setVisibility(View.GONE); + return; + }else { + binding.tvFill.setVisibility(View.VISIBLE); + } binding.tabLayout.removeAllTabs(); for (int i = 0; i < beans.size(); i++) { GrowthExperienceAutobiographyBean bean = beans.get(i); -- Gitblit v1.9.1