This commit is contained in:
tongchenfei
2020-08-04 17:45:39 +08:00
parent 686480cf49
commit a4bffbf30d
6 changed files with 44 additions and 69 deletions

View File

@@ -380,9 +380,13 @@ 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(ivTurnIcon.getId(), ConstraintSet.LEFT,
naviBg.getId(), ConstraintSet.LEFT,
(int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_small_marginLeft));
// constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BOTTOM);
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BOTTOM,
tvNextDistance.getId(), ConstraintSet.BOTTOM,
(int) getDimen(R.dimen.module_map_id_navi_next_info_road_marginBottom_small));
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));
@@ -440,55 +444,11 @@ public class TopViewAnimHelper {
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 +469,10 @@ public class TopViewAnimHelper {
// 约束设置需要在applyTo()方法之前执行visiable设置需要在applyTo()
// 方法之后执行才能生效,所以分开了两个判断,至于为什么这么做才能生效,不得而知
constraintSet.clear(tvNextDistance.getId(), ConstraintSet.BOTTOM);
constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BASELINE);
// constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BASELINE);
constraintSet.connect(ivTurnIcon.getId(), ConstraintSet.LEFT,
naviBg.getId(), ConstraintSet.LEFT,
(int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_marginLeft));
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BOTTOM,
ivTurnIcon.getId(), ConstraintSet.BOTTOM,
(int) getDimen(R.dimen.module_map_id_navi_next_info_road_marginBottom));
@@ -540,7 +503,6 @@ public class TopViewAnimHelper {
Logger.d(TAG, "hide top setMapCenterPointByScene: " + scene);
MapCenterPointStrategy.setMapCenterPointByScene(mogoMapUIController, scene);
}
// }
}
public void showNaviView() {
@@ -562,7 +524,10 @@ public class TopViewAnimHelper {
// 调整约束
constraintSet.clone(topMotionLayout);
constraintSet.clear(tvNextDistance.getId(), ConstraintSet.BOTTOM);
constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BASELINE);
// constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BASELINE);
constraintSet.connect(ivTurnIcon.getId(), ConstraintSet.LEFT,
naviBg.getId(), ConstraintSet.LEFT,
(int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_marginLeft));
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BOTTOM, ivTurnIcon.getId(),
ConstraintSet.BOTTOM);
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.LEFT,
@@ -594,9 +559,13 @@ 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(ivTurnIcon.getId(), ConstraintSet.LEFT,
naviBg.getId(), ConstraintSet.LEFT,
(int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_small_marginLeft));
// constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BOTTOM);
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BOTTOM,
tvNextDistance.getId(), ConstraintSet.BOTTOM,
(int) getDimen(R.dimen.module_map_id_navi_next_info_road_marginBottom_small));
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));