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/MarriageActivity.java | 67 +++++++++++++++++++++++++++++---- 1 files changed, 58 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/MarriageActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/MarriageActivity.java index 364ceeb..d702b95 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/MarriageActivity.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/MarriageActivity.java @@ -11,9 +11,11 @@ import android.widget.LinearLayout; import androidx.annotation.NonNull; +import androidx.recyclerview.widget.LinearLayoutManager; import com.application.zhangshi_app_android.BR; import com.application.zhangshi_app_android.R; +import com.application.zhangshi_app_android.adapter.OldSpouseRvAdapter; import com.application.zhangshi_app_android.databinding.ActivityMarriageBinding; import com.application.zhangshi_app_android.ui.DLBaseActivity; @@ -24,6 +26,7 @@ */ public class MarriageActivity extends DLBaseActivity<ActivityMarriageBinding,MarriageActivityViewModel> { + private OldSpouseRvAdapter adapter; @Override public int getLayoutId() { return R.layout.activity_marriage; @@ -38,27 +41,49 @@ public void initParam() { } - - private boolean isExpended = false; @Override public void initView() { + adapter = new OldSpouseRvAdapter(this); + binding.rvPredecessor.setNestedScrollingEnabled(false); + binding.rvPredecessor.setAdapter(adapter); + + 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 public void initData() { - + viewModel.getMarriageInfo(); } @Override public void initLiveDataObserve() { viewModel.getIsSpouseExpendedLiveData().observe(this, aBoolean -> { if (aBoolean){ - binding.ivSpouseFold.setOnClickListener(view -> { + binding.layoutTitleSpouse.setOnClickListener(view -> { collapseView(binding.cardSpouse,binding.layoutTitleSpouse); viewModel.getIsSpouseExpendedLiveData().setValue(false); }); }else { - binding.ivSpouseFold.setOnClickListener(view -> { + binding.layoutTitleSpouse.setOnClickListener(view -> { expendView(binding.cardSpouse); viewModel.getIsSpouseExpendedLiveData().setValue(true); }); @@ -66,12 +91,12 @@ }); viewModel.getIsPredecessorExpendedLiveData().observe(this, aBoolean -> { if (aBoolean){ - binding.ivPredecessorFold.setOnClickListener(view -> { + binding.layoutTitlePredecessor.setOnClickListener(view -> { collapseView(binding.cardPredecessor,binding.layoutTitlePredecessor); viewModel.getIsPredecessorExpendedLiveData().setValue(false); }); }else { - binding.ivPredecessorFold.setOnClickListener(new View.OnClickListener() { + binding.layoutTitlePredecessor.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { expendView(binding.cardPredecessor); @@ -82,7 +107,7 @@ }); viewModel.getIsProcreateExpendedLiveData().observe(this, aBoolean -> { if (aBoolean){ - binding.ivProcreateFold.setOnClickListener(new View.OnClickListener() { + binding.layoutTitleProcreate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { collapseView(binding.cardProcreate,binding.layoutTitleProcreate); @@ -90,7 +115,7 @@ } }); }else { - binding.ivProcreateFold.setOnClickListener(new View.OnClickListener() { + binding.layoutTitleProcreate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { expendView(binding.cardProcreate); @@ -99,6 +124,30 @@ }); } }); + viewModel.getInfoLiveData().observe(this, marriageInfoBean -> { + if (marriageInfoBean != null){ + if (marriageInfoBean.getOldSpouseList() == null || marriageInfoBean.getOldSpouseList().size() == 0) { + binding.cardSpouse.setVisibility(View.GONE); + }else { + binding.cardSpouse.setVisibility(View.VISIBLE); + adapter.setData(marriageInfoBean.getOldSpouseList()); + } + } + }); + } + + @Override + protected void dataNull() { + super.dataNull(); + binding.layoutDataNull.setVisibility(View.VISIBLE); + binding.nestedScrollView.setVisibility(View.GONE); + } + + @Override + protected void hide() { + super.hide(); + binding.layoutDataNull.setVisibility(View.GONE); + binding.nestedScrollView.setVisibility(View.VISIBLE); } public void collapseView(View initialView,View collapsedView){ -- Gitblit v1.9.1