From 9deba00f04daca3e79a1349db502266079512d9f Mon Sep 17 00:00:00 2001 From: liujing Date: Tue, 16 Jun 2020 17:34:47 +0800 Subject: [PATCH 1/8] =?UTF-8?q?bug-D80XCD-1412=20sn=E4=B8=8D=E6=AD=A3?= =?UTF-8?q?=E7=A1=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 2be089adf2..697b89654d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -71,7 +71,7 @@ MOGO_MODULE_GUIDESHOW_PROVIDER_VERSION=1.0.2-SNAPSHOT # 在线车辆F MOGO_MODULE_ONLINECAR_VERSION=1.0.3.2 # v2x -MOGO_MODULE_V2X_VERSION=1.1.13 +MOGO_MODULE_V2X_VERSION=1.1.14 # 推送 MOGO_MODULE_PUSH_VERSION=1.0.1 # 广告资源位 From 9c2250d8ca2af8316dc19a5a91ab68170602aa0d Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Tue, 16 Jun 2020 17:47:46 +0800 Subject: [PATCH 2/8] add log --- .../com/mogo/module/extensions/utils/TopViewAnimHelper.java | 3 ++- .../src/main/res/layout/module_ext_layout_entrance.xml | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java index 0b6ebc03de..d2425ae4c1 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java @@ -217,7 +217,8 @@ public class TopViewAnimHelper { // tvNextRoad.setTextSize(getDimen(R.dimen.dp_34)); // } topContainer.addView(view, params); - + Logger.d(TAG, "整体进入==== view.visibility: " + view.getVisibility() + " view" + + ".position: (" + view.getX() + ", " + view.getY() + ") params.width: " + params.width + " params.height: " + params.height); topContainer.setChildAddedListener(child -> { if (naviBg.getVisibility() == View.VISIBLE) { remainDistanceGroup.setVisibility(View.GONE); diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml index 95ceaa4c07..a8d9fee6ac 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml @@ -252,6 +252,7 @@ android:layout_height="wrap_content" android:focusable="true" android:clickable="true" + android:background="#0ff" app:layout_constraintBottom_toTopOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" /> From 67c7fd8e8777d0a156a1939f79fc7fffa19aceff Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Tue, 16 Jun 2020 19:33:52 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=A4=E4=B8=AA?= =?UTF-8?q?=E5=8A=A8=E7=94=BB=E5=9B=9E=E8=B0=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/extensions/utils/TopViewAnimHelper.java | 13 ++++++++++++- .../windowview/IMogoTopViewStatusListener.java | 12 ++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java index 0b6ebc03de..3cc8457df8 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java @@ -184,6 +184,9 @@ public class TopViewAnimHelper { topContainer.addView(view, params); Logger.d(TAG, "顶部view已经有布局了,增加新增view滑入动画: " + view.getTranslationY() + " height:" + " " + view.getHeight() + " paramsHeight: " + params.height); + if (statusListenerMap.get(view) != null) { + statusListenerMap.get(view).beforeViewAddAnim(view); + } view.animate().translationY(0).setDuration(500).setListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animation) { @@ -217,7 +220,9 @@ public class TopViewAnimHelper { // tvNextRoad.setTextSize(getDimen(R.dimen.dp_34)); // } topContainer.addView(view, params); - + if (statusListenerMap.get(view) != null) { + statusListenerMap.get(view).beforeViewAddAnim(view); + } topContainer.setChildAddedListener(child -> { if (naviBg.getVisibility() == View.VISIBLE) { remainDistanceGroup.setVisibility(View.GONE); @@ -300,6 +305,9 @@ public class TopViewAnimHelper { // 顶部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) { @@ -333,6 +341,9 @@ public class TopViewAnimHelper { } 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 diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/windowview/IMogoTopViewStatusListener.java b/services/mogo-service-api/src/main/java/com/mogo/service/windowview/IMogoTopViewStatusListener.java index db9df440b4..c3316b01ed 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/windowview/IMogoTopViewStatusListener.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/windowview/IMogoTopViewStatusListener.java @@ -19,4 +19,16 @@ public interface IMogoTopViewStatusListener { * @param view 移除的view */ void onViewRemoved(View view); + + /** + * view添加动画开始之前 + * @param view 添加的view + */ + void beforeViewAddAnim(View view); + + /** + * view 移除动画开始之前 + * @param view 移除的view + */ + void beforeViewRemoveAnim(View view); } From 9b1300134cf42ca0bc35bd2b088d45aa3b3c73b2 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Wed, 17 Jun 2020 09:44:55 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=A8=E7=94=BB?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=8F=90=E5=8D=87=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 50 +++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/gradle.properties b/gradle.properties index 697b89654d..8c248fb17e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -27,31 +27,31 @@ PASSWORD=xintai2018 RELEASE=false # 模块版本 ## 工程内模块 -MOGO_COMMONS_VERSION=1.2.1 -MOGO_UTILS_VERSION=1.2.1 -MAP_AMAP_VERSION=1.2.1 -MAP_AUTONAVI_VERSION=1.2.1 -MOGO_MAP_VERSION=1.2.1 -MOGO_MAP_API_VERSION=1.2.1 -MOGO_SERVICE_VERSION=1.2.1 -MOGO_SERVICE_API_VERSION=1.2.1 -MOGO_CONNECTION_VERSION=1.2.1 -MOGO_MODULE_APPS_VERSION=1.2.1 -MOGO_MODULE_NAVI_VERSION=1.2.1 -MOGO_MODULE_SHARE_VERSION=1.2.1 -MOGO_MODULE_COMMON_VERSION=1.2.1 -MOGO_MODULE_MAIN_VERSION=1.2.1 -MOGO_MODULE_MAP_VERSION=1.2.1 -MOGO_MODULE_SERVICE_VERSION=1.2.1 -MOGO_MODULE_EXTENSIONS_VERSION=1.2.1 -MOGO_MODULE_SEARCH_VERSION=1.2.1 -MOGO_MODULE_BACK_VERSION=1.2.1 -MOGO_MODULE_GPS_SIMULATOR_VERSION=1.2.1 -MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.2.1 -MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.2.1 -MOGO_MODULE_AUTHORIZE_VERSION=1.2.1 -MOGO_MODULE_GUIDE_VERSION=1.2.1 -MOGO_MODULE_MEDIA_VERSION=1.2.1 +MOGO_COMMONS_VERSION=1.2.1.1 +MOGO_UTILS_VERSION=1.2.1.1 +MAP_AMAP_VERSION=1.2.1.1 +MAP_AUTONAVI_VERSION=1.2.1.1 +MOGO_MAP_VERSION=1.2.1.1 +MOGO_MAP_API_VERSION=1.2.1.1 +MOGO_SERVICE_VERSION=1.2.1.1 +MOGO_SERVICE_API_VERSION=1.2.1.1 +MOGO_CONNECTION_VERSION=1.2.1.1 +MOGO_MODULE_APPS_VERSION=1.2.1.1 +MOGO_MODULE_NAVI_VERSION=1.2.1.1 +MOGO_MODULE_SHARE_VERSION=1.2.1.1 +MOGO_MODULE_COMMON_VERSION=1.2.1.1 +MOGO_MODULE_MAIN_VERSION=1.2.1.1 +MOGO_MODULE_MAP_VERSION=1.2.1.1 +MOGO_MODULE_SERVICE_VERSION=1.2.1.1 +MOGO_MODULE_EXTENSIONS_VERSION=1.2.1.1 +MOGO_MODULE_SEARCH_VERSION=1.2.1.1 +MOGO_MODULE_BACK_VERSION=1.2.1.1 +MOGO_MODULE_GPS_SIMULATOR_VERSION=1.2.1.1 +MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.2.1.1 +MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.2.1.1 +MOGO_MODULE_AUTHORIZE_VERSION=1.2.1.1 +MOGO_MODULE_GUIDE_VERSION=1.2.1.1 +MOGO_MODULE_MEDIA_VERSION=1.2.1.1 MOGO_MODULE_MAIN_LAUNCHER_VERSION = 1.0.0.2 MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.0.0.2 From 757f3d056d828065f280dfca39bf05a4579ee6f8 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Wed, 17 Jun 2020 10:51:55 +0800 Subject: [PATCH 5/8] opt --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 8c248fb17e..755621bd64 100644 --- a/gradle.properties +++ b/gradle.properties @@ -53,8 +53,8 @@ MOGO_MODULE_AUTHORIZE_VERSION=1.2.1.1 MOGO_MODULE_GUIDE_VERSION=1.2.1.1 MOGO_MODULE_MEDIA_VERSION=1.2.1.1 -MOGO_MODULE_MAIN_LAUNCHER_VERSION = 1.0.0.2 -MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.0.0.2 +MOGO_MODULE_MAIN_LAUNCHER_VERSION = 1.0.0.3 +MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.0.0.3 ## 工程外部模块 From 8b84c16cbb592d10d99e7377d0407c4ff6d160cd Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Wed, 17 Jun 2020 11:38:35 +0800 Subject: [PATCH 6/8] add log --- .../main/java/com/mogo/module/extensions/navi/TopView.java | 6 ++++++ .../com/mogo/module/extensions/utils/TopViewAnimHelper.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/TopView.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/TopView.java index a4ef3f3a3e..0f98f21a68 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/TopView.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/TopView.java @@ -82,6 +82,12 @@ public class TopView extends FrameLayout { }); } + @Override + public void onViewRemoved(View child) { + super.onViewRemoved(child); + Logger.d("TopView", "onViewRemoved: " + child); + } + public interface OnChildAddedListener { /** * 子view添加完成,但是并不确定已经绘制完成 diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java index d2425ae4c1..a12db9d15b 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java @@ -152,7 +152,7 @@ public class TopViewAnimHelper { hideNaviView(); } - private boolean isTopViewOut = true; + private volatile boolean isTopViewOut = true; private List viewCaches = new ArrayList<>(); private Map statusListenerMap = new ArrayMap<>(); From a128caa462f35ef608b86b6f45b3a7b1b248720a Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Wed, 17 Jun 2020 14:02:25 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dtop=20view=E6=9C=89?= =?UTF-8?q?=E6=97=B6=E4=B8=8D=E5=BC=B9=E5=87=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 56 +++++++++---------- .../extensions/utils/TopViewAnimHelper.java | 1 + .../res/layout/module_ext_layout_entrance.xml | 1 - 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/gradle.properties b/gradle.properties index 755621bd64..47ab02a6d0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -27,34 +27,34 @@ PASSWORD=xintai2018 RELEASE=false # 模块版本 ## 工程内模块 -MOGO_COMMONS_VERSION=1.2.1.1 -MOGO_UTILS_VERSION=1.2.1.1 -MAP_AMAP_VERSION=1.2.1.1 -MAP_AUTONAVI_VERSION=1.2.1.1 -MOGO_MAP_VERSION=1.2.1.1 -MOGO_MAP_API_VERSION=1.2.1.1 -MOGO_SERVICE_VERSION=1.2.1.1 -MOGO_SERVICE_API_VERSION=1.2.1.1 -MOGO_CONNECTION_VERSION=1.2.1.1 -MOGO_MODULE_APPS_VERSION=1.2.1.1 -MOGO_MODULE_NAVI_VERSION=1.2.1.1 -MOGO_MODULE_SHARE_VERSION=1.2.1.1 -MOGO_MODULE_COMMON_VERSION=1.2.1.1 -MOGO_MODULE_MAIN_VERSION=1.2.1.1 -MOGO_MODULE_MAP_VERSION=1.2.1.1 -MOGO_MODULE_SERVICE_VERSION=1.2.1.1 -MOGO_MODULE_EXTENSIONS_VERSION=1.2.1.1 -MOGO_MODULE_SEARCH_VERSION=1.2.1.1 -MOGO_MODULE_BACK_VERSION=1.2.1.1 -MOGO_MODULE_GPS_SIMULATOR_VERSION=1.2.1.1 -MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.2.1.1 -MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.2.1.1 -MOGO_MODULE_AUTHORIZE_VERSION=1.2.1.1 -MOGO_MODULE_GUIDE_VERSION=1.2.1.1 -MOGO_MODULE_MEDIA_VERSION=1.2.1.1 +MOGO_COMMONS_VERSION=1.2.1.2 +MOGO_UTILS_VERSION=1.2.1.2 +MAP_AMAP_VERSION=1.2.1.2 +MAP_AUTONAVI_VERSION=1.2.1.2 +MOGO_MAP_VERSION=1.2.1.2 +MOGO_MAP_API_VERSION=1.2.1.2 +MOGO_SERVICE_VERSION=1.2.1.2 +MOGO_SERVICE_API_VERSION=1.2.1.2 +MOGO_CONNECTION_VERSION=1.2.1.2 +MOGO_MODULE_APPS_VERSION=1.2.1.2 +MOGO_MODULE_NAVI_VERSION=1.2.1.2 +MOGO_MODULE_SHARE_VERSION=1.2.1.2 +MOGO_MODULE_COMMON_VERSION=1.2.1.2 +MOGO_MODULE_MAIN_VERSION=1.2.1.2 +MOGO_MODULE_MAP_VERSION=1.2.1.2 +MOGO_MODULE_SERVICE_VERSION=1.2.1.2 +MOGO_MODULE_EXTENSIONS_VERSION=1.2.1.2 +MOGO_MODULE_SEARCH_VERSION=1.2.1.2 +MOGO_MODULE_BACK_VERSION=1.2.1.2 +MOGO_MODULE_GPS_SIMULATOR_VERSION=1.2.1.2 +MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.2.1.2 +MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.2.1.2 +MOGO_MODULE_AUTHORIZE_VERSION=1.2.1.2 +MOGO_MODULE_GUIDE_VERSION=1.2.1.2 +MOGO_MODULE_MEDIA_VERSION=1.2.1.2 -MOGO_MODULE_MAIN_LAUNCHER_VERSION = 1.0.0.3 -MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.0.0.3 +MOGO_MODULE_MAIN_LAUNCHER_VERSION = 1.0.0.4 +MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.0.0.4 ## 工程外部模块 @@ -71,7 +71,7 @@ MOGO_MODULE_GUIDESHOW_PROVIDER_VERSION=1.0.2-SNAPSHOT # 在线车辆F MOGO_MODULE_ONLINECAR_VERSION=1.0.3.2 # v2x -MOGO_MODULE_V2X_VERSION=1.1.14 +MOGO_MODULE_V2X_VERSION=1.1.132-SNAPSHOT # 推送 MOGO_MODULE_PUSH_VERSION=1.0.1 # 广告资源位 diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java index 0ec3102bb3..60c72a3fa6 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java @@ -174,6 +174,7 @@ public class TopViewAnimHelper { } if (!viewCaches.contains(view)) { // 判断此view是否已经增加到了顶部view,如果增加过就不增加了 + view.setTranslationY(0); statusListenerMap.put(view, statusListener); Logger.d(TAG, "开始执行"); isTopViewOut = false; diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml index a8d9fee6ac..95ceaa4c07 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml @@ -252,7 +252,6 @@ android:layout_height="wrap_content" android:focusable="true" android:clickable="true" - android:background="#0ff" app:layout_constraintBottom_toTopOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" /> From 4e339c475e1b64dc86d83d0e50ff093fdc5938eb Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Wed, 17 Jun 2020 15:43:56 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9top=20view=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E9=80=BB=E8=BE=91=EF=BC=8C=E5=90=8C=E6=97=B6=E5=8F=AA?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E4=B8=80=E4=B8=AAview=EF=BC=8C=E4=B8=8D?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E5=8F=A0=E5=8A=A0=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 56 +++++++++---------- .../extensions/entrance/EntranceFragment.java | 20 ++++++- .../extensions/utils/TopViewAnimHelper.java | 37 +++++++++++- 3 files changed, 80 insertions(+), 33 deletions(-) diff --git a/gradle.properties b/gradle.properties index 47ab02a6d0..ce2fec7504 100644 --- a/gradle.properties +++ b/gradle.properties @@ -24,37 +24,37 @@ SNAPSHOT_REPOSITORY_URL=http://nexus.zhidaoauto.com/repository/maven-snapshots/ USERNAME=xintai PASSWORD=xintai2018 # 编译模式: false - 依赖本地版本, true - 依赖 maven 版本 -RELEASE=false +RELEASE=true # 模块版本 ## 工程内模块 -MOGO_COMMONS_VERSION=1.2.1.2 -MOGO_UTILS_VERSION=1.2.1.2 -MAP_AMAP_VERSION=1.2.1.2 -MAP_AUTONAVI_VERSION=1.2.1.2 -MOGO_MAP_VERSION=1.2.1.2 -MOGO_MAP_API_VERSION=1.2.1.2 -MOGO_SERVICE_VERSION=1.2.1.2 -MOGO_SERVICE_API_VERSION=1.2.1.2 -MOGO_CONNECTION_VERSION=1.2.1.2 -MOGO_MODULE_APPS_VERSION=1.2.1.2 -MOGO_MODULE_NAVI_VERSION=1.2.1.2 -MOGO_MODULE_SHARE_VERSION=1.2.1.2 -MOGO_MODULE_COMMON_VERSION=1.2.1.2 -MOGO_MODULE_MAIN_VERSION=1.2.1.2 -MOGO_MODULE_MAP_VERSION=1.2.1.2 -MOGO_MODULE_SERVICE_VERSION=1.2.1.2 -MOGO_MODULE_EXTENSIONS_VERSION=1.2.1.2 -MOGO_MODULE_SEARCH_VERSION=1.2.1.2 -MOGO_MODULE_BACK_VERSION=1.2.1.2 -MOGO_MODULE_GPS_SIMULATOR_VERSION=1.2.1.2 -MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.2.1.2 -MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.2.1.2 -MOGO_MODULE_AUTHORIZE_VERSION=1.2.1.2 -MOGO_MODULE_GUIDE_VERSION=1.2.1.2 -MOGO_MODULE_MEDIA_VERSION=1.2.1.2 +MOGO_COMMONS_VERSION=1.2.1.3 +MOGO_UTILS_VERSION=1.2.1.3 +MAP_AMAP_VERSION=1.2.1.3 +MAP_AUTONAVI_VERSION=1.2.1.3 +MOGO_MAP_VERSION=1.2.1.3 +MOGO_MAP_API_VERSION=1.2.1.3 +MOGO_SERVICE_VERSION=1.2.1.3 +MOGO_SERVICE_API_VERSION=1.2.1.3 +MOGO_CONNECTION_VERSION=1.2.1.3 +MOGO_MODULE_APPS_VERSION=1.2.1.3 +MOGO_MODULE_NAVI_VERSION=1.2.1.3 +MOGO_MODULE_SHARE_VERSION=1.2.1.3 +MOGO_MODULE_COMMON_VERSION=1.2.1.3 +MOGO_MODULE_MAIN_VERSION=1.2.1.3 +MOGO_MODULE_MAP_VERSION=1.2.1.3 +MOGO_MODULE_SERVICE_VERSION=1.2.1.3 +MOGO_MODULE_EXTENSIONS_VERSION=1.2.1.3 +MOGO_MODULE_SEARCH_VERSION=1.2.1.3 +MOGO_MODULE_BACK_VERSION=1.2.1.3 +MOGO_MODULE_GPS_SIMULATOR_VERSION=1.2.1.3 +MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.2.1.3 +MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.2.1.3 +MOGO_MODULE_AUTHORIZE_VERSION=1.2.1.3 +MOGO_MODULE_GUIDE_VERSION=1.2.1.3 +MOGO_MODULE_MEDIA_VERSION=1.2.1.3 -MOGO_MODULE_MAIN_LAUNCHER_VERSION = 1.0.0.4 -MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.0.0.4 +MOGO_MODULE_MAIN_LAUNCHER_VERSION = 1.0.0.5 +MOGO_MODULE_MAIN_INDEPENDENT_VERSION = 1.0.0.5 ## 工程外部模块 diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index 9648fe49a8..f49414dd40 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -49,7 +49,6 @@ import com.mogo.service.module.IMogoRegisterCenter; import com.mogo.service.statusmanager.IMogoStatusChangedListener; import com.mogo.service.statusmanager.IMogoStatusManager; import com.mogo.service.statusmanager.StatusDescriptor; -import com.mogo.utils.AppUtils; import com.mogo.utils.LaunchUtils; import com.mogo.utils.ResourcesHelper; import com.mogo.utils.UiThreadHandler; @@ -184,6 +183,8 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent private List< View > demoCache = new ArrayList<>(); + private int[] heights = new int[]{100,200,300}; + @Override protected void initViews() { mApis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation( getContext() ); @@ -200,9 +201,12 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent // // todo 测试动画 // View v = LayoutInflater.from(getContext()).inflate(R.layout.demo_top, null); // TextView tv = v.findViewById(R.id.tvIndex); -// tv.setText(demoCache.size() + ": " + v); +// Random random = new Random(); +// int height = heights[random.nextInt(3)]; +// tv.setText(demoCache.size()+" height: "+height + ": " + v); // demoCache.add(v); -// mApis.getTopViewManager().addView(v, new IMogoTopViewStatusListener() { +// LayoutParams params = new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT, height); +// mApis.getTopViewManager().addView(v, params,new IMogoTopViewStatusListener() { // @Override // public void onViewAdded(View view) { // Logger.d(TAG, "onViewAdded: " + view); @@ -212,6 +216,16 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent // public void onViewRemoved(View view) { // Logger.d(TAG, "onViewRemoved: " + view); // } +// +// @Override +// public void beforeViewAddAnim(View view) { +// Logger.d(TAG, "beforeViewAddAnim: " + view); +// } +// +// @Override +// public void beforeViewRemoveAnim(View view) { +// Logger.d(TAG, "beforeViewRemoveAnim: " + view); +// } // }); // 原始逻辑 showShareDialog(); diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java index 60c72a3fa6..e938b8e751 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java @@ -8,6 +8,7 @@ import android.transition.TransitionManager; import android.util.ArrayMap; import android.view.View; import android.view.ViewGroup; +import android.view.ViewGroup.LayoutParams; import android.view.animation.BounceInterpolator; import android.view.animation.OvershootInterpolator; import android.widget.ImageView; @@ -181,6 +182,31 @@ public class TopViewAnimHelper { if (topContainer.getChildCount() > 0) { // 顶部view已经有了内容,新增内容无需整体布局变化,只是新增布局加个动画 viewCaches.add(view); + + // 生硬的删掉上一个view + View lastView = topContainer.getChildAt(0); + if (statusListenerMap.get(lastView) != null) { + statusListenerMap.get(lastView).beforeViewRemoveAnim(lastView); + } + topContainer.removeView(lastView); + viewCaches.remove(lastView); + if (statusListenerMap.get(lastView) != null) { + statusListenerMap.remove(lastView).onViewRemoved(lastView); + } + // 如果高度变化,生硬的变化一下高度 + Logger.d(TAG,"container.height: "+topContainer.getHeight()); + if (topContainer.getHeight() != params.height) { + constraintSet.clone(topMotionLayout); + LayoutParams p = topContainer.getLayoutParams(); + p.height = params.height; + topContainer.setLayoutParams(p); + constraintSet.connect(naviBg.getId(), ConstraintSet.TOP, + R.id.module_entrance_id_top_motion_layout, ConstraintSet.TOP, + computeNaviMarginTop(params.height)); + constraintSet.applyTo(topMotionLayout); + Logger.d(TAG,"改变container的高度==="); + } + view.setTranslationY(-(params.height)); topContainer.addView(view, params); Logger.d(TAG, "顶部view已经有布局了,增加新增view滑入动画: " + view.getTranslationY() + " height:" + @@ -227,6 +253,7 @@ public class TopViewAnimHelper { statusListenerMap.get(view).beforeViewAddAnim(view); } topContainer.setChildAddedListener(child -> { + topContainer.setChildAddedListener(null); if (naviBg.getVisibility() == View.VISIBLE) { remainDistanceGroup.setVisibility(View.GONE); remainTimeGroup.setVisibility(View.GONE); @@ -261,7 +288,7 @@ public class TopViewAnimHelper { constraintSet.connect(naviBg.getId(), ConstraintSet.TOP, R.id.module_entrance_id_top_motion_layout, ConstraintSet.TOP, - (int) getDimen(R.dimen.dp_316)); + computeNaviMarginTop(params.height)); } constraintSet.applyTo(topMotionLayout); ivTurnIcon.getLayoutParams().height = @@ -455,7 +482,7 @@ public class TopViewAnimHelper { (int) topMotionLayout.getContext().getResources().getDimension(R.dimen.dp_46)); constraintSet.connect(naviBg.getId(), ConstraintSet.TOP, R.id.module_entrance_id_top_motion_layout, ConstraintSet.TOP, - (int) getDimen(R.dimen.dp_316)); + computeNaviMarginTop(topContainer.getHeight())); // ivTurnIcon.getLayoutParams().height = // (int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_small_height); // ivTurnIcon.getLayoutParams().width = @@ -524,6 +551,12 @@ public class TopViewAnimHelper { return (int) topMotionLayout.getContext().getResources().getDimension(resId); } + private int computeNaviMarginTop(int height) { + int result = (int) (height - (getDimen(R.dimen.dp_350) - getDimen(R.dimen.dp_316))); + Logger.d(TAG, "computeNaviMarginTop: " + height + " result: " + result); + return result; + } + interface OnTopViewAnimSimpleListener { void onAnimStart();