From e6014ef123350d5c0cadabe9c18e26b3d5a3c729 Mon Sep 17 00:00:00 2001
From: guoshen <3129367635@qq.com>
Date: 星期六, 29 六月 2024 15:41:25 +0800
Subject: [PATCH] Revert "Initial commit"
---
app/src/main/java/com/application/zhangshi_app_android/ui/function/HealthCareActivity.java | 195 +++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 164 insertions(+), 31 deletions(-)
diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HealthCareActivity.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HealthCareActivity.java
index dd46dac..0e5df68 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/HealthCareActivity.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/HealthCareActivity.java
@@ -3,6 +3,8 @@
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ValueAnimator;
+import android.text.Editable;
+import android.text.TextWatcher;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
@@ -10,12 +12,25 @@
import android.widget.FrameLayout;
import android.widget.PopupWindow;
+import androidx.lifecycle.Observer;
+
import com.android.app_base.manager.AppManager;
import com.android.app_base.utils.ScreenSizeUtils;
+import com.android.app_base.utils.Utils;
import com.application.zhangshi_app_android.BR;
import com.application.zhangshi_app_android.R;
+import com.application.zhangshi_app_android.bean.GrowthExperienceAutobiographyBean;
+import com.application.zhangshi_app_android.bean.HealthCareNotesContentBean;
import com.application.zhangshi_app_android.databinding.ActivityHealthCareBinding;
import com.application.zhangshi_app_android.ui.DLBaseActivity;
+import com.github.gzuliyujiang.wheelpicker.OptionPicker;
+import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener;
+import com.google.android.material.tabs.TabLayout;
+import com.hjq.bar.TitleBar;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
/**
* @author Ljj
@@ -25,7 +40,6 @@
public class HealthCareActivity extends DLBaseActivity<ActivityHealthCareBinding,HealthCareActivityViewModel> {
private PopupWindow popupWindow;
- private int popWidth;
@Override
public int getLayoutId() {
return R.layout.activity_health_care;
@@ -45,37 +59,72 @@
public void initView() {
View view = View.inflate(this,R.layout.pop_annual_health_status,null);
popupWindow = initPopUpWindow(view);
-
- view.findViewById(R.id.tv_annual_health_status).setOnClickListener(new View.OnClickListener() {
+ view.findViewById(R.id.tv_edit).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
popupWindow.dismiss();
- AppManager.getAppManager().startActivity(AnnualHealthStatusActivity.class);
+ viewModel.setTypeLiveData(true);
}
});
- binding.ivOperate.setOnClickListener(v -> {
- popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(this,118) +binding.ivOperate.getWidth(),0);
+ binding.tvSex.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ List<String> list = Arrays.asList("濂�","鐢�");
+ OptionPicker picker = getOptionPicker(list);
+ picker.setTitle("鎬у埆");
+ picker.setOnOptionPickedListener(new OnOptionPickedListener() {
+ @Override
+ public void onOptionPicked(int position, Object item) {
+ binding.tvSex.setText(item.toString());
+ }
+ });
+ picker.show();
+ }
});
+ 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.getHealthCareBaseInfo();
+ viewModel.getHealthCareLifeHabits();
+ viewModel.getHealthCareNursingExamination();
+ viewModel.getHealthCareExistingProblems();
+ viewModel.getHealthCareNotesContent();
}
@Override
public void initLiveDataObserve() {
viewModel.getIsLifeHabitsExpendedLiveData().observe(this, aBoolean -> {
if (aBoolean){
- binding.ivLifeHabitsFold.setOnClickListener(view -> {
+ binding.layoutTitleLifeHabits.setOnClickListener(view -> {
collapseView(binding.cardLifeHabits,binding.layoutTitleLifeHabits);
viewModel.getIsLifeHabitsExpendedLiveData().setValue(false);
});
}else {
- binding.ivLifeHabitsFold.setOnClickListener(view -> {
+ binding.layoutTitleLifeHabits.setOnClickListener(view -> {
expendView(binding.cardLifeHabits);
viewModel.getIsLifeHabitsExpendedLiveData().setValue(true);
});
@@ -83,12 +132,12 @@
});
viewModel.getIsHealthExpendedLiveData().observe(this, aBoolean -> {
if (aBoolean){
- binding.ivHealthFold.setOnClickListener(view -> {
+ binding.layoutTitleHealth.setOnClickListener(view -> {
collapseView(binding.cardHealth,binding.layoutTitleHealth);
viewModel.getIsHealthExpendedLiveData().setValue(false);
});
}else {
- binding.ivHealthFold.setOnClickListener(view -> {
+ binding.layoutTitleHealth.setOnClickListener(view -> {
expendView(binding.cardHealth);
viewModel.getIsHealthExpendedLiveData().setValue(true);
});
@@ -96,15 +145,111 @@
});
viewModel.getIsNursingExpendedLiveData().observe(this, aBoolean -> {
if (aBoolean){
- binding.ivNursingFold.setOnClickListener(view -> {
+ binding.layoutTitleNursing.setOnClickListener(view -> {
collapseView(binding.cardNursing,binding.layoutTitleNursing);
viewModel.getIsNursingExpendedLiveData().setValue(false);
});
}else {
- binding.ivNursingFold.setOnClickListener(view -> {
+ binding.layoutTitleNursing.setOnClickListener(view -> {
expendView(binding.cardNursing);
viewModel.getIsNursingExpendedLiveData().setValue(true);
});
+ }
+ });
+ viewModel.getTypeLiveData().observe(this, new Observer<Boolean>() {
+ @Override
+ public void onChanged(Boolean aBoolean) {
+ if (aBoolean){
+ binding.ivOperate.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ viewModel.setTypeLiveData(false);
+ viewModel.save();
+ }
+ });
+ }else {
+ binding.ivOperate.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ popupWindow.showAsDropDown(binding.ivOperate,-ScreenSizeUtils.dip2px(HealthCareActivity.this,85) +binding.ivOperate.getWidth(),0);
+ }
+ });
+ }
+ }
+ });
+ viewModel.getHealthCareNotesContentBeanLiveData().observe(this, new Observer<HealthCareNotesContentBean>() {
+ @Override
+ public void onChanged(HealthCareNotesContentBean bean) {
+ List<String> tabList = bean.getTabList();
+ List<String> contentList = bean.getContentList();
+ if (tabList==null||tabList.size() == 0 ){
+ binding.etFill.setVisibility(View.GONE);
+ return;
+ }else {
+ binding.etFill.setVisibility(View.VISIBLE);
+ }
+ binding.tabLayout.removeAllTabs();
+ for (int i = 0; i < tabList.size(); i++) {
+ String tabText = tabList.get(i);
+ TabLayout.Tab tab = binding.tabLayout.newTab().setText(tabText);
+ if (i % 2 == 0){
+ tab.view.setBackgroundResource(R.drawable.selector_tab_background_pink);
+ }else {
+ tab.view.setBackgroundResource(R.drawable.selector_tab_background_blue);
+ }
+ //鍙栨秷tab鐨勯暱鎸夋樉绀烘枃鏈�
+ tab.view.setOnLongClickListener(new View.OnLongClickListener() {
+ @Override
+ public boolean onLongClick(View v) {
+ return true;
+ }
+ });
+ binding.tabLayout.addTab(tab);
+ }
+ binding.etFill.setText(contentList.get(0));
+ binding.tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
+ @Override
+ public void onTabSelected(TabLayout.Tab tab) {
+ binding.etFill.setText(contentList.get(tab.getPosition()));
+ binding.etFill.clearFocus();
+ }
+
+ @Override
+ public void onTabUnselected(TabLayout.Tab tab) {
+
+ }
+
+ @Override
+ public void onTabReselected(TabLayout.Tab tab) {
+
+ }
+ });
+ binding.etFill.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ int select = binding.tabLayout.getSelectedTabPosition();
+ contentList.set(select,s.toString());
+ viewModel.getHealthCareNotesContentBeanLiveData().getValue().setContent(contentList);
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ }
+ });
+ binding.ivA.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ System.out.println("鐐瑰嚮浜咥");
+ System.out.println(v.isClickable());
+ System.out.println(viewModel.getTypeLiveData().getValue());
}
});
}
@@ -112,29 +257,13 @@
public void collapseView(View initialView,View collapsedView){
int initialHeight = initialView.getMeasuredHeight();
int collapsedHeight = collapsedView.getMeasuredHeight();
- int distanceToCollapse = (int) (initialHeight - collapsedHeight);
-
- Animation a = new Animation() {
- @Override
- protected void applyTransformation(float interpolatedTime, Transformation t) {
- if (interpolatedTime == 1){
- }
- initialView.getLayoutParams().height = (int) (initialHeight - (distanceToCollapse * interpolatedTime));
- initialView.requestLayout();
- }
-
- @Override
- public boolean willChangeBounds() {
- return true;
- }
- };
- a.setDuration(500);
- initialView.startAnimation(a);
+ Utils.pullCollapse(initialView,initialHeight,collapsedHeight);
}
public void expendView(View initialView){
int initialHeight = initialView.getMeasuredHeight();
initialView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
int targetHeight = initialView.getMeasuredHeight();
+
ValueAnimator animator = ValueAnimator.ofInt(initialHeight,targetHeight);
animator.addUpdateListener(animation -> {
initialView.getLayoutParams().height = (int) animation.getAnimatedValue();
@@ -151,4 +280,8 @@
animator.start();
}
+ @Override
+ public void onLeftClick(TitleBar titleBar) {
+ finish();
+ }
}
--
Gitblit v1.9.1