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