This commit is contained in:
tongchenfei
2020-07-27 19:00:39 +08:00
parent fe80c294a1
commit b01bd168c8

View File

@@ -380,9 +380,11 @@ public class TopViewAnimHelper {
// 方法之后执行才能生效,所以分开了两个判断,至于为什么这么做才能生效,不得而知
constraintSet.connect(tvNextDistance.getId(), ConstraintSet.BOTTOM,
ivTurnIcon.getId(), ConstraintSet.BOTTOM);
constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BOTTOM);
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BASELINE,
tvNextDistance.getId(), ConstraintSet.BASELINE);
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.TOP,
ivTurnIcon.getId(), ConstraintSet.TOP);
// constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BOTTOM);
// constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BASELINE,
// tvNextDistance.getId(), ConstraintSet.BASELINE);
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.LEFT,
R.id.module_map_id_navi_next_info_turn_info, ConstraintSet.RIGHT,
(int) topMotionLayout.getContext().getResources().getDimension(R.dimen.dp_46));
@@ -437,58 +439,13 @@ public class TopViewAnimHelper {
if (topMotionLayout == null) {
return;
}
Logger.d("TopViewAnimHelper", "startTopOutAnim=====");
if (!isTopViewOut && viewCaches.contains(view)) {
// if (topContainer.getChildCount() > 1) {
// // 顶部view包含多个view只推出当前view不进行整体上移
// Logger.d(TAG,
// "小view退出: " + view.getTranslationY() + " height: " + view.getHeight());
// if (statusListenerMap.get(view) != null) {
// statusListenerMap.get(view).beforeViewRemoveAnim(view);
// }
// view.animate().translationY(-(view.getHeight())).setDuration(500).setListener
// (new Animator.AnimatorListener() {
// @Override
// public void onAnimationStart(Animator animation) {
//
// }
//
// @Override
// public void onAnimationEnd(Animator animation) {
// Logger.d(TAG, "onAnimationEnd: " + view);
// viewCaches.remove(view);
// topContainer.removeView(view);
// IMogoTopViewStatusListener listener = statusListenerMap.remove(view);
// if (listener != null) {
// listener.onViewRemoved(view);
// } else {
// Logger.d(TAG, "listener is null");
// }
// }
//
// @Override
// public void onAnimationCancel(Animator animation) {
// viewCaches.remove(view);
// topContainer.removeView(view);
// }
//
// @Override
// public void onAnimationRepeat(Animator animation) {
//
// }
// }).start();
// } else {
// 顶部view仅剩一个view需要整体上移
// currentAnimatingView = view;
if (statusListenerMap.get(view) != null) {
statusListenerMap.get(view).beforeViewRemoveAnim(view);
}
isTopViewOut = true;
// if (naviBg.getVisibility() == View.VISIBLE) {
// tvNextRoad.setTextSize(getDimen(R.dimen
// .module_ext_navi_info_panel_next_info_road_textSize));
// }
if (naviBg.getVisibility() == View.VISIBLE) {
remainDistanceGroup.setVisibility(View.VISIBLE);
remainTimeGroup.setVisibility(View.VISIBLE);
@@ -509,7 +466,7 @@ public class TopViewAnimHelper {
// 约束设置需要在applyTo()方法之前执行visiable设置需要在applyTo()
// 方法之后执行才能生效,所以分开了两个判断,至于为什么这么做才能生效,不得而知
constraintSet.clear(tvNextDistance.getId(), ConstraintSet.BOTTOM);
constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BASELINE);
constraintSet.clear(tvNextRoad.getId(), ConstraintSet.TOP);
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BOTTOM,
ivTurnIcon.getId(), ConstraintSet.BOTTOM,
(int) getDimen(R.dimen.module_map_id_navi_next_info_road_marginBottom));
@@ -562,7 +519,7 @@ public class TopViewAnimHelper {
// 调整约束
constraintSet.clone(topMotionLayout);
constraintSet.clear(tvNextDistance.getId(), ConstraintSet.BOTTOM);
constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BASELINE);
constraintSet.clear(tvNextRoad.getId(), ConstraintSet.TOP);
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BOTTOM, ivTurnIcon.getId(),
ConstraintSet.BOTTOM);
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.LEFT,
@@ -594,9 +551,8 @@ public class TopViewAnimHelper {
constraintSet.clone(topMotionLayout);
constraintSet.connect(tvNextDistance.getId(), ConstraintSet.BOTTOM,
ivTurnIcon.getId(), ConstraintSet.BOTTOM);
constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BOTTOM);
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BASELINE,
tvNextDistance.getId(), ConstraintSet.BASELINE);
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.TOP,
ivTurnIcon.getId(), ConstraintSet.TOP);
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.LEFT,
R.id.module_map_id_navi_next_info_turn_info, ConstraintSet.RIGHT,
(int) topMotionLayout.getContext().getResources().getDimension(R.dimen.dp_46));