| | |
| | | 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 |
| | |
| | | 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); |
| | | }); |
| | |
| | | }); |
| | | 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); |
| | | }); |
| | |
| | | }); |
| | | 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); |
| | | }); |
| | |
| | | }); |
| | | 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); |
| | | }); |
| | |
| | | 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); |