Merge branch 'feature/v2.0.0' of gitlab.zhidaoauto.com:ecos/yycp-service/Launcher into feature/v2.0.0
This commit is contained in:
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -12,7 +12,7 @@ ext {
|
||||
// androidx
|
||||
androidxappcompat : "androidx.appcompat:appcompat:1.0.2",
|
||||
androidxccorektx : "androidx.core:core-ktx:1.2.0",
|
||||
androidxconstraintlayout : "androidx.constraintlayout:constraintlayout:2.0.0-alpha5",
|
||||
androidxconstraintlayout : "androidx.constraintlayout:constraintlayout:2.0.0-beta6",
|
||||
androidxmultidex : "androidx.multidex:multidex:2.0.1",
|
||||
androidxviewpager2 : "androidx.viewpager2:viewpager2:1.0.0",
|
||||
androidxrecyclerview : "androidx.recyclerview:recyclerview:1.1.0",
|
||||
|
||||
@@ -27,34 +27,34 @@ PASSWORD=xintai2018
|
||||
RELEASE=false
|
||||
# 模块版本
|
||||
## 工程内模块
|
||||
MOGO_COMMONS_VERSION=1.1.0.7
|
||||
MOGO_UTILS_VERSION=1.1.0.7
|
||||
MAP_AMAP_VERSION=1.1.0.7
|
||||
MOGO_MAP_VERSION=1.1.0.7
|
||||
MOGO_MAP_API_VERSION=1.1.0.7
|
||||
MOGO_SERVICE_VERSION=1.1.0.7
|
||||
MOGO_SERVICE_API_VERSION=1.1.0.7
|
||||
MOGO_CONNECTION_VERSION=1.1.0.7
|
||||
MOGO_MODULE_APPS_VERSION=1.1.0.7
|
||||
MOGO_MODULE_NAVI_VERSION=1.1.0.7
|
||||
MOGO_MODULE_SHARE_VERSION=1.1.0.7
|
||||
MOGO_MODULE_COMMON_VERSION=1.1.0.7
|
||||
MOGO_MODULE_MAIN_VERSION=1.1.0.7
|
||||
MOGO_MODULE_MAP_VERSION=1.1.0.7
|
||||
MOGO_MODULE_SERVICE_VERSION=1.1.0.7
|
||||
MOGO_MODULE_EXTENSIONS_VERSION=1.1.0.7
|
||||
MOGO_MODULE_SEARCH_VERSION=1.1.0.7
|
||||
MOGO_MODULE_BACK_VERSION=1.1.0.7
|
||||
MOGO_MODULE_GPS_SIMULATOR_VERSION=1.1.0.7
|
||||
MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.1.0.7
|
||||
MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.1.0.7
|
||||
MOGO_MODULE_AUTHORIZE_VERSION=1.1.0.7
|
||||
MOGO_MODULE_GUIDE_VERSION=1.1.0.7
|
||||
MOGO_COMMONS_VERSION=1.1.0.8
|
||||
MOGO_UTILS_VERSION=1.1.0.8
|
||||
MAP_AMAP_VERSION=1.1.0.8
|
||||
MOGO_MAP_VERSION=1.1.0.8
|
||||
MOGO_MAP_API_VERSION=1.1.0.8
|
||||
MOGO_SERVICE_VERSION=1.1.0.8
|
||||
MOGO_SERVICE_API_VERSION=1.1.0.8
|
||||
MOGO_CONNECTION_VERSION=1.1.0.8
|
||||
MOGO_MODULE_APPS_VERSION=1.1.0.8
|
||||
MOGO_MODULE_NAVI_VERSION=1.1.0.8
|
||||
MOGO_MODULE_SHARE_VERSION=1.1.0.8
|
||||
MOGO_MODULE_COMMON_VERSION=1.1.0.8
|
||||
MOGO_MODULE_MAIN_VERSION=1.1.0.8
|
||||
MOGO_MODULE_MAP_VERSION=1.1.0.8
|
||||
MOGO_MODULE_SERVICE_VERSION=1.1.0.8
|
||||
MOGO_MODULE_EXTENSIONS_VERSION=1.1.0.8
|
||||
MOGO_MODULE_SEARCH_VERSION=1.1.0.8
|
||||
MOGO_MODULE_BACK_VERSION=1.1.0.8
|
||||
MOGO_MODULE_GPS_SIMULATOR_VERSION=1.1.0.8
|
||||
MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.1.0.8
|
||||
MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.1.0.8
|
||||
MOGO_MODULE_AUTHORIZE_VERSION=1.1.0.8
|
||||
MOGO_MODULE_GUIDE_VERSION=1.1.0.8
|
||||
|
||||
|
||||
## 工程外部模块
|
||||
# 探路
|
||||
MOGO_MODULE_TANLU_VERSION=1.0.6-SNAPSHOT
|
||||
MOGO_MODULE_TANLU_VERSION=1.0.5-SNAPSHOT
|
||||
# 车聊聊
|
||||
CARCHATTING_VERSION=1.0.4-SNAPSHOT
|
||||
# 车聊聊接口
|
||||
|
||||
@@ -7,13 +7,16 @@ import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.Message;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.DrawableRes;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.commons.mvp.MvpFragment;
|
||||
@@ -36,7 +39,7 @@ import com.mogo.module.common.map.MapCenterPointStrategy;
|
||||
import com.mogo.module.common.map.Scene;
|
||||
import com.mogo.module.extensions.ExtensionsModuleConst;
|
||||
import com.mogo.module.extensions.R;
|
||||
import com.mogo.module.extensions.navi.NaviInfoView;
|
||||
import com.mogo.module.extensions.utils.TopViewAnimHelper;
|
||||
import com.mogo.module.share.ShareControl;
|
||||
import com.mogo.service.IMogoServiceApis;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
@@ -53,7 +56,9 @@ import com.mogo.utils.ResourcesHelper;
|
||||
import com.mogo.utils.UiThreadHandler;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.AUTHORIZE_TYPE_LAUNCHER_SHARE;
|
||||
@@ -80,7 +85,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
|
||||
private View mMove2CurrentLocation;
|
||||
|
||||
private NaviInfoView mNaviInfo;
|
||||
// private NaviInfoView mNaviInfo;
|
||||
private TextView mExitNavi;
|
||||
|
||||
|
||||
@@ -103,6 +108,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
private IMogoAuthorizeModuleManager mIMogoAuthorizeModuleManager;
|
||||
private IMogoStatusManager mStatusManager;
|
||||
|
||||
|
||||
/**
|
||||
* 搜索莫模块
|
||||
*/
|
||||
@@ -179,6 +185,8 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
return R.layout.module_ext_layout_entrance;
|
||||
}
|
||||
|
||||
private List<View> demoCache = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
protected void initViews() {
|
||||
mApis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation( getContext() );
|
||||
@@ -194,6 +202,13 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
mUpload = findViewById( R.id.module_entrance_id_upload );
|
||||
mUploading = findViewById( R.id.module_entrance_id_uploading );
|
||||
mUploadRoadCondition.setOnClickListener( view -> {
|
||||
// // todo 测试动画
|
||||
// View v = LayoutInflater.from(getContext()).inflate(R.layout.demo_top, null);
|
||||
// TextView tv = v.findViewById(R.id.tvIndex);
|
||||
// tv.setText(demoCache.size() + "");
|
||||
// demoCache.add(v);
|
||||
// mApis.getTopViewManager().addView(v);
|
||||
// 原始逻辑
|
||||
isClickShare = true;
|
||||
if ( mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) {
|
||||
mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE );
|
||||
@@ -220,6 +235,14 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
|
||||
mMove2CurrentLocation = findViewById( R.id.module_entrance_id_move2_current_location );
|
||||
mMove2CurrentLocation.setOnClickListener( view -> {
|
||||
// // todo 测试动画
|
||||
// if(demoCache.size()>0) {
|
||||
// View v = demoCache.remove(demoCache.size() - 1);
|
||||
// boolean isViewAdded = mApis.getTopViewManager().isViewAdded(v);
|
||||
// Logger.d(TAG, "isViewAdded===" + isViewAdded);
|
||||
// mApis.getTopViewManager().removeView(v);
|
||||
// }
|
||||
// 原始逻辑
|
||||
final MogoLocation location = mMogoLocationClient.getLastKnowLocation();
|
||||
if ( location != null ) {
|
||||
if ( !mMogoStatusManager.isV2XShow() ) {
|
||||
@@ -236,7 +259,12 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
}
|
||||
} );
|
||||
|
||||
mNaviInfo = findViewById( R.id.module_entrance_id_navi_info_panel );
|
||||
// mNaviInfo = findViewById( R.id.module_entrance_id_navi_info_panel );
|
||||
ConstraintLayout rootView = findViewById(R.id.module_entrance_id_top_motion_layout);
|
||||
if(rootView!=null) {
|
||||
TopViewAnimHelper.getInstance().init(rootView);
|
||||
}
|
||||
|
||||
mExitNavi = findViewById( R.id.module_entrance_id_exit_navi );
|
||||
mExitNavi.setOnClickListener( view -> {
|
||||
if ( mMogoNavi != null ) {
|
||||
@@ -366,12 +394,12 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
if ( naviinfo == null ) {
|
||||
return;
|
||||
}
|
||||
mNaviInfo.notifyChanged( naviinfo );
|
||||
// mNaviInfo.notifyChanged( naviinfo );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartNavi() {
|
||||
mNaviInfo.setVisibility( View.VISIBLE );
|
||||
// mNaviInfo.setVisibility( View.VISIBLE );
|
||||
mExitNavi.setVisibility( View.VISIBLE );
|
||||
mMApUIController.changeMapMode( mCameraMode.isSelected() ? EnumMapUI.NorthUP_2D : EnumMapUI.CarUp_2D );
|
||||
MapCenterPointStrategy.setMapCenterPointBySceneAndDelay( mMApUIController, Scene.NAVI, 500, () -> {
|
||||
@@ -383,7 +411,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
|
||||
@Override
|
||||
public void onStopNavi() {
|
||||
mNaviInfo.setVisibility( View.GONE );
|
||||
// mNaviInfo.setVisibility( View.GONE );
|
||||
mExitNavi.setVisibility( View.GONE );
|
||||
mMApUIController.changeMapMode( EnumMapUI.NorthUP_2D );
|
||||
mDisplayOverview.setVisibility( View.GONE );
|
||||
|
||||
@@ -0,0 +1,382 @@
|
||||
package com.mogo.module.extensions.utils;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.transition.AutoTransition;
|
||||
import android.transition.Transition;
|
||||
import android.transition.TransitionManager;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.constraintlayout.widget.ConstraintSet;
|
||||
import androidx.constraintlayout.widget.Group;
|
||||
|
||||
import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
import com.mogo.module.common.map.MapCenterPointStrategy;
|
||||
import com.mogo.module.common.map.Scene;
|
||||
import com.mogo.module.extensions.R;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 顶部动画帮助类
|
||||
*
|
||||
* @author tongchenfei
|
||||
*/
|
||||
public class TopViewAnimHelper {
|
||||
private static final String TAG = "TopViewAnimHelper";
|
||||
|
||||
private ConstraintLayout topMotionLayout;
|
||||
private Group naviGroup, remainTimeGroup, remainDistanceGroup, arriveTimeGroup;
|
||||
private View naviBg;
|
||||
|
||||
private ImageView ivTurnIcon;
|
||||
private TextView tvNextDistance;
|
||||
private TextView tvNextRoad;
|
||||
private FrameLayout topContainer;
|
||||
|
||||
private ConstraintSet constraintSet = new ConstraintSet();
|
||||
private Transition transition = new AutoTransition();
|
||||
private TextView cameraMode;
|
||||
|
||||
private TopViewAnimHelper() {
|
||||
}
|
||||
|
||||
private volatile static TopViewAnimHelper instance = null;
|
||||
|
||||
public static TopViewAnimHelper getInstance() {
|
||||
if (instance == null) {
|
||||
synchronized (TopViewAnimHelper.class) {
|
||||
if (instance == null) {
|
||||
instance = new TopViewAnimHelper();
|
||||
}
|
||||
}
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
private IMogoMapUIController mogoMapUIController;
|
||||
|
||||
public void setIMogoMapUIController(IMogoMapUIController mogoMapUIController) {
|
||||
this.mogoMapUIController = mogoMapUIController;
|
||||
}
|
||||
|
||||
public void init(ConstraintLayout rootView) {
|
||||
init(rootView, null);
|
||||
}
|
||||
|
||||
public void init(ConstraintLayout rootView, OnTopViewAnimSimpleListener listener) {
|
||||
topMotionLayout = rootView;
|
||||
naviBg = rootView.findViewById(R.id.module_map_id_navi_bg);
|
||||
naviGroup = rootView.findViewById(R.id.naviGroup);
|
||||
remainTimeGroup = rootView.findViewById(R.id.remainTimeGroup);
|
||||
remainDistanceGroup = rootView.findViewById(R.id.remainDistanceGroup);
|
||||
arriveTimeGroup = rootView.findViewById(R.id.arriveTimeGroup);
|
||||
topContainer = rootView.findViewById(R.id.module_entrance_id_top_container);
|
||||
|
||||
ivTurnIcon = rootView.findViewById(R.id.module_map_id_navi_next_info_road_turn_icon);
|
||||
tvNextDistance = rootView.findViewById(R.id.module_map_id_navi_next_info_distance);
|
||||
tvNextRoad = rootView.findViewById(R.id.module_map_id_navi_next_info_road);
|
||||
transition.setDuration(200);
|
||||
|
||||
transition.addListener(new Transition.TransitionListener() {
|
||||
@Override
|
||||
public void onTransitionStart(Transition transition) {
|
||||
if (listener != null) {
|
||||
listener.onAnimStart();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTransitionEnd(Transition transition) {
|
||||
if (isTopViewOut) {
|
||||
topContainer.removeAllViews();
|
||||
}
|
||||
if (listener != null) {
|
||||
listener.onAnimEnd();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTransitionCancel(Transition transition) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTransitionPause(Transition transition) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTransitionResume(Transition transition) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
cameraMode = rootView.findViewById(R.id.module_ext_id_north);
|
||||
}
|
||||
|
||||
private boolean isTopViewOut = true;
|
||||
private List<View> viewCaches = new ArrayList<>();
|
||||
|
||||
public void startTopInAnim(View view, ViewGroup.LayoutParams params) {
|
||||
Logger.d(TAG, "startTopInAnim====="+isTopViewOut);
|
||||
if (view == null) {
|
||||
throw new IllegalArgumentException("method addTopView params view is null");
|
||||
}
|
||||
if (params == null) {
|
||||
throw new IllegalArgumentException("method addTopView params LayoutParams is null");
|
||||
}
|
||||
if (!viewCaches.contains(view)) {
|
||||
// 判断此view是否已经增加到了顶部view,如果增加过就不增加了
|
||||
Logger.d(TAG, "开始执行");
|
||||
isTopViewOut = false;
|
||||
if (topContainer.getChildCount() > 0) {
|
||||
// 顶部view已经有了内容,新增内容无需整体布局变化,只是新增布局加个动画
|
||||
viewCaches.add(view);
|
||||
view.setTranslationY(-(params.height));
|
||||
topContainer.addView(view, params);
|
||||
Logger.d(TAG, "顶部view已经有布局了,增加新增view滑入动画: " + view.getTranslationY() + " height:" +
|
||||
" " + view.getHeight() + " paramsHeight: " + params.height);
|
||||
view.animate().translationY(0).setDuration(500).start();
|
||||
} else {
|
||||
// 顶部view还没有内容,需要整体下移
|
||||
viewCaches.add(view);
|
||||
topContainer.addView(view, params);
|
||||
constraintSet.clone(topMotionLayout);
|
||||
|
||||
constraintSet.getConstraint(R.id.module_entrance_id_top_container).layout.bottomToTop = -1;
|
||||
constraintSet.getConstraint(R.id.module_entrance_id_top_container).layout.topToTop =
|
||||
R.id.module_entrance_id_top_motion_layout;
|
||||
|
||||
TransitionManager.beginDelayedTransition(topMotionLayout, transition);
|
||||
checkCameraModePosition(false);
|
||||
if (naviGroup.getVisibility() == View.VISIBLE) {
|
||||
// 约束设置需要在applyTo()方法之前执行,visiable设置需要在applyTo()
|
||||
// 方法之后执行才能生效,所以分开了两个判断,至于为什么这么做才能生效,不得而知
|
||||
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.LEFT,
|
||||
R.id.module_map_id_navi_next_info_turn_info, ConstraintSet.RIGHT,
|
||||
(int) topMotionLayout.getContext().getResources().getDimension(R.dimen.dp_46));
|
||||
}
|
||||
constraintSet.applyTo(topMotionLayout);
|
||||
if (naviGroup.getVisibility() == View.VISIBLE) {
|
||||
remainDistanceGroup.setVisibility(View.GONE);
|
||||
remainTimeGroup.setVisibility(View.GONE);
|
||||
arriveTimeGroup.setVisibility(View.GONE);
|
||||
}
|
||||
ivTurnIcon.getLayoutParams().height =
|
||||
(int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_small_height);
|
||||
ivTurnIcon.getLayoutParams().width =
|
||||
(int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_small_width);
|
||||
naviBg.getLayoutParams().height =
|
||||
(int) topMotionLayout.getContext().getResources().getDimension(R.dimen.module_ext_navi_info_panel_small_height);
|
||||
int scene = 0;
|
||||
if(naviGroup.getVisibility() == View.VISIBLE){
|
||||
scene = Scene.NAVI_WITH_ROAD_EVENT;
|
||||
}else{
|
||||
scene = Scene.AIMLESS_WITH_ROAD_EVENT;
|
||||
}
|
||||
Logger.d(TAG, "show top setMapCenterPointByScene: " + scene);
|
||||
MapCenterPointStrategy.setMapCenterPointByScene(mogoMapUIController, scene);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void startTopOutAnim(View view) {
|
||||
Logger.d("TopViewAnimHelper", "startTopOutAnim=====");
|
||||
if (!isTopViewOut) {
|
||||
|
||||
if(topContainer.getChildCount() >1){
|
||||
// 顶部view包含多个view,只推出当前view,不进行整体上移
|
||||
Logger.d(TAG, "小view退出: " + view.getTranslationY() + " height: " + view.getHeight());
|
||||
view.animate().translationY(-(view.getHeight())).setDuration(500).setListener(new Animator.AnimatorListener() {
|
||||
@Override
|
||||
public void onAnimationStart(Animator animation) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationEnd(Animator animation) {
|
||||
viewCaches.remove(view);
|
||||
topContainer.removeView(view);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationCancel(Animator animation) {
|
||||
viewCaches.remove(view);
|
||||
topContainer.removeView(view);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationRepeat(Animator animation) {
|
||||
|
||||
}
|
||||
}).start();
|
||||
}else {
|
||||
// 顶部view仅剩一个view,需要整体上移
|
||||
isTopViewOut = true;
|
||||
constraintSet.clone(topMotionLayout);
|
||||
|
||||
constraintSet.getConstraint(R.id.module_entrance_id_top_container).layout.bottomToTop =
|
||||
R.id.module_entrance_id_top_motion_layout;
|
||||
constraintSet.getConstraint(R.id.module_entrance_id_top_container).layout.topToTop = -1;
|
||||
TransitionManager.beginDelayedTransition(topMotionLayout, transition);
|
||||
checkCameraModePosition(false);
|
||||
|
||||
if (naviGroup.getVisibility() == View.VISIBLE) {
|
||||
// 约束设置需要在applyTo()方法之前执行,visiable设置需要在applyTo()
|
||||
// 方法之后执行才能生效,所以分开了两个判断,至于为什么这么做才能生效,不得而知
|
||||
constraintSet.clear(tvNextDistance.getId(), ConstraintSet.BOTTOM);
|
||||
constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BASELINE);
|
||||
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BOTTOM,
|
||||
ivTurnIcon.getId(), ConstraintSet.BOTTOM);
|
||||
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.LEFT,
|
||||
tvNextDistance.getId(), ConstraintSet.LEFT,
|
||||
0);
|
||||
}
|
||||
constraintSet.applyTo(topMotionLayout);
|
||||
if (naviGroup.getVisibility() == View.VISIBLE) {
|
||||
remainDistanceGroup.setVisibility(View.VISIBLE);
|
||||
remainTimeGroup.setVisibility(View.VISIBLE);
|
||||
arriveTimeGroup.setVisibility(View.VISIBLE);
|
||||
}
|
||||
ivTurnIcon.getLayoutParams().height =
|
||||
(int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_height);
|
||||
ivTurnIcon.getLayoutParams().width =
|
||||
(int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_width);
|
||||
naviBg.getLayoutParams().height =
|
||||
(int) topMotionLayout.getContext().getResources().getDimension(R.dimen.module_ext_navi_info_panel_height);
|
||||
int scene = 0;
|
||||
if(naviGroup.getVisibility() == View.VISIBLE){
|
||||
scene = Scene.NAVI;
|
||||
}else{
|
||||
scene = Scene.AIMLESS;
|
||||
}
|
||||
Logger.d(TAG, "hide top setMapCenterPointByScene: " + scene);
|
||||
MapCenterPointStrategy.setMapCenterPointByScene(mogoMapUIController, scene);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void showNaviView() {
|
||||
Logger.d("TopViewAnimHelper", "showNaviView=====");
|
||||
naviGroup.setVisibility(View.VISIBLE);
|
||||
int scene = 0;
|
||||
if (isTopViewOut) {
|
||||
remainDistanceGroup.setVisibility(View.VISIBLE);
|
||||
remainTimeGroup.setVisibility(View.VISIBLE);
|
||||
arriveTimeGroup.setVisibility(View.VISIBLE);
|
||||
// 调整约束
|
||||
constraintSet.clone(topMotionLayout);
|
||||
constraintSet.clear(tvNextDistance.getId(), ConstraintSet.BOTTOM);
|
||||
constraintSet.clear(tvNextRoad.getId(), ConstraintSet.BASELINE);
|
||||
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.BOTTOM, ivTurnIcon.getId(),
|
||||
ConstraintSet.BOTTOM);
|
||||
constraintSet.connect(tvNextRoad.getId(), ConstraintSet.LEFT,
|
||||
tvNextDistance.getId(), ConstraintSet.LEFT,
|
||||
0);
|
||||
// ivTurnIcon.getLayoutParams().height =
|
||||
// (int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_height);
|
||||
// ivTurnIcon.getLayoutParams().width =
|
||||
// (int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_width);
|
||||
// naviBg.getLayoutParams().height =
|
||||
// (int) topMotionLayout.getContext().getResources().getDimension(R.dimen
|
||||
// .module_ext_navi_info_panel_height);
|
||||
constraintSet.applyTo(topMotionLayout);
|
||||
scene = Scene.NAVI_WITH_ROAD_EVENT;
|
||||
} else {
|
||||
remainDistanceGroup.setVisibility(View.GONE);
|
||||
remainTimeGroup.setVisibility(View.GONE);
|
||||
arriveTimeGroup.setVisibility(View.GONE);
|
||||
// 调整约束
|
||||
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.LEFT,
|
||||
R.id.module_map_id_navi_next_info_turn_info, ConstraintSet.RIGHT,
|
||||
(int) topMotionLayout.getContext().getResources().getDimension(R.dimen.dp_46));
|
||||
// ivTurnIcon.getLayoutParams().height =
|
||||
// (int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_small_height);
|
||||
// ivTurnIcon.getLayoutParams().width =
|
||||
// (int) getDimen(R.dimen.module_ext_navi_info_panel_turn_icon_small_width);
|
||||
// naviBg.getLayoutParams().height =
|
||||
// (int) topMotionLayout.getContext().getResources().getDimension(R.dimen
|
||||
// .module_ext_navi_info_panel_small_height);
|
||||
constraintSet.applyTo(topMotionLayout);
|
||||
scene = Scene.NAVI;
|
||||
}
|
||||
Logger.d(TAG, "navi show setMapCenterPointByScene: " + scene);
|
||||
MapCenterPointStrategy.setMapCenterPointByScene(mogoMapUIController, scene);
|
||||
checkCameraModePosition(true);
|
||||
}
|
||||
|
||||
public void hideNaviView() {
|
||||
Logger.d("TopViewAnimHelper", "hideNaviView=====");
|
||||
naviGroup.setVisibility(View.GONE);
|
||||
remainDistanceGroup.setVisibility(View.GONE);
|
||||
remainTimeGroup.setVisibility(View.GONE);
|
||||
arriveTimeGroup.setVisibility(View.GONE);
|
||||
int scene = 0;
|
||||
if(isTopViewOut){
|
||||
scene = Scene.AIMLESS_WITH_ROAD_EVENT;
|
||||
}else{
|
||||
scene = Scene.AIMLESS;
|
||||
}
|
||||
Logger.d(TAG, "hide navi setMapCenterPointByScene: " + scene);
|
||||
MapCenterPointStrategy.setMapCenterPointByScene(mogoMapUIController, scene);
|
||||
checkCameraModePosition(true);
|
||||
}
|
||||
|
||||
private void checkCameraModePosition(boolean isNeedClone) {
|
||||
if (isNeedClone) {
|
||||
constraintSet.clone(topMotionLayout);
|
||||
}
|
||||
if (naviGroup.getVisibility() == View.VISIBLE) {
|
||||
constraintSet.connect(cameraMode.getId(), ConstraintSet.TOP, naviBg.getId(),
|
||||
ConstraintSet.BOTTOM, (int) getDimen(R.dimen.dp_30));
|
||||
} else {
|
||||
if (isTopViewOut) {
|
||||
constraintSet.connect(cameraMode.getId(), ConstraintSet.TOP, naviBg.getId(),
|
||||
ConstraintSet.BOTTOM,
|
||||
(int) getDimen(R.dimen.module_ext_north_goneMarginTop));
|
||||
} else {
|
||||
constraintSet.connect(cameraMode.getId(), ConstraintSet.TOP,
|
||||
R.id.module_entrance_id_top_container,
|
||||
ConstraintSet.BOTTOM,
|
||||
(int) getDimen(R.dimen.dp_30));
|
||||
}
|
||||
}
|
||||
if (isNeedClone) {
|
||||
constraintSet.applyTo(topMotionLayout);
|
||||
}
|
||||
}
|
||||
|
||||
private float getDimen(int resId) {
|
||||
return (int) topMotionLayout.getContext().getResources().getDimension(resId);
|
||||
}
|
||||
|
||||
interface OnTopViewAnimSimpleListener {
|
||||
void onAnimStart();
|
||||
|
||||
void onAnimEnd();
|
||||
}
|
||||
|
||||
public boolean isViewAdded(View view) {
|
||||
return viewCaches.contains(view);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package com.mogo.module.extensions.utils;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.module.extensions.R;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.windowview.IMogoTopViewManager;
|
||||
|
||||
/**
|
||||
* 顶部1/2界面管理
|
||||
*
|
||||
* @author tongchenfei
|
||||
*/
|
||||
@Route(path = MogoServicePaths.PATH_EXTENSIONS_TOP_VIEW_MANAGER)
|
||||
public class TopViewManager implements IMogoTopViewManager {
|
||||
|
||||
// @Override
|
||||
// public void addTopView(View view, ViewGroup.LayoutParams params) {
|
||||
// TopViewAnimHelper.getInstance().startTopInAnim(view, params);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void removeTopView() {
|
||||
// TopViewAnimHelper.getInstance().startTopOutAnim();
|
||||
// }
|
||||
|
||||
private Context context;
|
||||
@Override
|
||||
public void init(Context context) {
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addView(View view) {
|
||||
addView(view, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
(int) context.getResources().getDimension(R.dimen.dp_350)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addView(View view, ViewGroup.LayoutParams params) {
|
||||
TopViewAnimHelper.getInstance().startTopInAnim(view, params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeView(View view) {
|
||||
TopViewAnimHelper.getInstance().startTopOutAnim(view);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isViewAdded(View view) {
|
||||
return TopViewAnimHelper.getInstance().isViewAdded(view);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_350"
|
||||
android:background="#000">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/tvIndex"
|
||||
android:text="1"
|
||||
android:textSize="24sp"
|
||||
android:textColor="#fff"
|
||||
android:padding="10dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent" />
|
||||
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv1"
|
||||
android:layout_width="@dimen/dp_150"
|
||||
android:layout_height="@dimen/dp_150"
|
||||
android:src="@drawable/icon_default_user_head"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toLeftOf="@+id/iv2"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv2"
|
||||
android:layout_width="@dimen/dp_150"
|
||||
android:layout_height="@dimen/dp_150"
|
||||
android:src="@drawable/icon_default_user_head"
|
||||
app:layout_constraintLeft_toRightOf="@+id/iv1"
|
||||
app:layout_constraintRight_toLeftOf="@+id/iv3"
|
||||
app:layout_constraintTop_toTopOf="@+id/iv1" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv3"
|
||||
android:layout_width="@dimen/dp_150"
|
||||
android:layout_height="@dimen/dp_150"
|
||||
android:src="@drawable/icon_default_user_head"
|
||||
app:layout_constraintLeft_toRightOf="@+id/iv2"
|
||||
app:layout_constraintRight_toLeftOf="@+id/iv4"
|
||||
app:layout_constraintTop_toTopOf="@id/iv2" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv4"
|
||||
android:layout_width="@dimen/dp_150"
|
||||
android:layout_height="@dimen/dp_150"
|
||||
android:src="@drawable/icon_default_user_head"
|
||||
app:layout_constraintLeft_toRightOf="@+id/iv3"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/iv3" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,17 +1,229 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/module_entrance_id_top_motion_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.mogo.module.extensions.navi.NaviInfoView
|
||||
android:id="@+id/module_entrance_id_navi_info_panel"
|
||||
<FrameLayout
|
||||
android:id="@+id/module_entrance_id_top_container"
|
||||
android:layout_width="@dimen/module_ext_navi_info_panel_width"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toTopOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent" />
|
||||
|
||||
<androidx.constraintlayout.widget.Group
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/naviGroup"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
app:constraint_referenced_ids="module_map_id_navi_next_info_road,module_map_id_navi_next_info_turn_info,module_map_id_navi_bg,module_map_id_navi_next_info_road_turn_icon,module_map_id_navi_next_info_distance,module_map_id_navi_next_info_distance_unit,remainDistanceGroup,remainTimeGroup,arriveTimeGroup" />
|
||||
|
||||
<View
|
||||
android:id="@+id/module_map_id_navi_bg"
|
||||
android:layout_width="@dimen/module_ext_navi_info_panel_width"
|
||||
android:layout_height="@dimen/module_ext_navi_info_panel_height"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_entrance_id_top_container"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_entrance_id_top_container"
|
||||
android:background="@drawable/module_ext_dw_navi_info_panel_bkg" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/module_map_id_navi_next_info_road_turn_icon"
|
||||
android:layout_width="@dimen/module_ext_navi_info_panel_turn_icon_width"
|
||||
android:layout_height="@dimen/module_ext_navi_info_panel_turn_icon_height"
|
||||
android:layout_marginStart="@dimen/module_ext_navi_info_panel_turn_icon_marginLeft"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_11"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_navi_next_info_distance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_52"
|
||||
android:text="53"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_textSize"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_road_turn_icon"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_next_info_road_turn_icon" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_navi_next_info_distance_unit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginLeft"
|
||||
android:layout_marginBottom="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginBottom"
|
||||
android:text="米"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_unit_textSize"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_navi_next_info_distance"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_distance" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_navi_next_info_turn_info"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginLeft"
|
||||
android:layout_marginBottom="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginBottom"
|
||||
android:text="左转进入"
|
||||
android:textColor="#7FF1F1F1"
|
||||
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_unit_textSize"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_navi_next_info_distance_unit"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_distance_unit" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_navi_next_info_road"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/module_ext_navi_next_info_road_marginTop"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:text="北三环东路辅路"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_navi_info_panel_next_info_road_textSize"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_next_info_road_turn_icon"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_navi_next_info_distance" />
|
||||
|
||||
<androidx.constraintlayout.widget.Group
|
||||
android:id="@+id/remainDistanceGroup"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:constraint_referenced_ids="module_map_id_remaining_distance_icon,module_map_id_remaining_distance,module_map_id_remaining_distance_unit,module_map_id_remaining_distance_notice" />
|
||||
<!--remain distance-->
|
||||
<ImageView
|
||||
android:id="@+id/module_map_id_remaining_distance_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_117"
|
||||
android:src="@drawable/module_ext_ic_navi_info1"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_remaining_distance"
|
||||
app:layout_constraintRight_toLeftOf="@id/module_map_id_remaining_time_icon"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_remaining_distance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="3599"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_textSize"
|
||||
app:layout_constraintBottom_toTopOf="@+id/module_map_id_remaining_distance_notice"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_distance_icon"
|
||||
app:layout_constraintTop_toBottomOf="@+id/module_map_id_remaining_distance_icon" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_remaining_distance_unit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="km"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_remaining_distance"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_remaining_distance" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_remaining_distance_notice"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="剩余"
|
||||
android:textColor="#7FFFFFFF"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_distance"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_distance" />
|
||||
|
||||
<androidx.constraintlayout.widget.Group
|
||||
android:id="@+id/remainTimeGroup"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:constraint_referenced_ids="module_map_id_remaining_time_icon,module_map_id_remaining_time,module_map_id_remaining_time_unit,module_map_id_remaining_time_notice" />
|
||||
<!--remain time-->
|
||||
<ImageView
|
||||
android:id="@+id/module_map_id_remaining_time_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_117"
|
||||
android:src="@drawable/module_ext_ic_navi_info2"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_remaining_time"
|
||||
app:layout_constraintRight_toLeftOf="@id/module_map_id_arrive_time_icon"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_remaining_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="3599"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_remaining_time_textSize"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_remaining_time_notice"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_time_icon"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_time_icon" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_remaining_time_unit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="km"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_remaining_time_unit_textSize"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_remaining_time"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_remaining_time" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_remaining_time_notice"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="时间"
|
||||
android:textColor="#7FFFFFFF"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_time"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_time" />
|
||||
|
||||
<androidx.constraintlayout.widget.Group
|
||||
android:id="@+id/arriveTimeGroup"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:constraint_referenced_ids="module_map_id_arrive_time_icon,module_map_id_arrive_time,module_map_id_arrive_time_notice" />
|
||||
<!--arrive time-->
|
||||
<ImageView
|
||||
android:id="@+id/module_map_id_arrive_time_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_95"
|
||||
android:src="@drawable/module_ext_ic_navi_info3"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_arrive_time"
|
||||
app:layout_constraintRight_toRightOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_arrive_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="3599"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_arrive_time_textSize"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_arrive_time_notice"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_arrive_time_icon"
|
||||
app:layout_constraintTop_toBottomOf="@+id/module_map_id_arrive_time_icon" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_arrive_time_notice"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="到达"
|
||||
android:textColor="#7FFFFFFF"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_arrive_time"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_map_id_arrive_time" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_ext_id_north"
|
||||
@@ -26,7 +238,7 @@
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/module_ext_north_textSize"
|
||||
app:layout_constraintRight_toRightOf="@+id/module_entrance_id_upload_road_condition"
|
||||
app:layout_constraintTop_toBottomOf="@+id/module_entrance_id_navi_info_panel"
|
||||
app:layout_constraintTop_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_goneMarginTop="@dimen/module_ext_north_goneMarginTop" />
|
||||
|
||||
|
||||
@@ -38,11 +250,9 @@
|
||||
android:background="@drawable/module_ext_dw_common_corner_bkg"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/module_entrance_id_navi_info_panel"
|
||||
app:layout_goneMarginTop="@dimen/module_ext_north_goneMarginTop"
|
||||
tools:visibility="visible">
|
||||
android:visibility="visible"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintTop_toBottomOf="@+id/module_map_id_navi_bg">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/module_ext_id_display_overview_icon"
|
||||
@@ -119,26 +329,24 @@
|
||||
android:id="@+id/module_entrance_id_button1"
|
||||
android:layout_width="@dimen/module_ext_navi_exit_width"
|
||||
android:layout_height="@dimen/module_ext_navi_exit_height"
|
||||
android:background="@drawable/module_ext_dw_common_corner_bkg"
|
||||
android:gravity="center"
|
||||
android:text="前方\n实况"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/module_ext_navi_exit_textSize"
|
||||
android:visibility="gone"
|
||||
tools:background="@drawable/module_ext_dw_common_corner_bkg"
|
||||
tools:text="前方\n实况"
|
||||
tools:visibility="visible" />
|
||||
android:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_entrance_id_button2"
|
||||
android:layout_width="@dimen/module_ext_navi_exit_width"
|
||||
android:layout_height="@dimen/module_ext_navi_exit_height"
|
||||
android:layout_marginTop="@dimen/module_entrance_id_button_marginTop"
|
||||
android:background="@drawable/module_ext_dw_common_corner_bkg"
|
||||
android:gravity="center"
|
||||
android:text="取消\n求助"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/module_ext_navi_exit_textSize"
|
||||
android:visibility="gone"
|
||||
tools:background="@drawable/module_ext_dw_common_corner_bkg"
|
||||
tools:text="取消\n求助"
|
||||
tools:visibility="visible" />
|
||||
android:visibility="visible" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_entrance_id_exit_navi"
|
||||
@@ -150,7 +358,7 @@
|
||||
android:text="@string/module_ext_str_exit_navi"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/module_ext_navi_exit_textSize"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
android:visibility="visible" />
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -0,0 +1,196 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.motion.widget.MotionLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
app:layoutDescription="@xml/module_ext_top_motion"
|
||||
android:layout_width="@dimen/module_ext_navi_info_panel_width"
|
||||
android:layout_height="@dimen/module_ext_navi_info_panel_height"
|
||||
android:background="@drawable/module_ext_dw_navi_info_panel_bkg">
|
||||
|
||||
<View
|
||||
android:id="@+id/module_map_id_navi_bg"
|
||||
android:layout_width="@dimen/module_ext_navi_info_panel_width"
|
||||
android:layout_height="@dimen/module_ext_navi_info_panel_height"
|
||||
android:background="@drawable/module_ext_dw_navi_info_panel_bkg" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/module_map_id_navi_next_info_road_turn_icon"
|
||||
android:layout_width="@dimen/module_ext_navi_info_panel_turn_icon_width"
|
||||
android:layout_height="@dimen/module_ext_navi_info_panel_turn_icon_height"
|
||||
android:layout_marginStart="@dimen/module_ext_navi_info_panel_turn_icon_marginLeft"
|
||||
android:scaleType="fitCenter"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
|
||||
android:src="@drawable/ic_11" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_navi_next_info_distance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_52"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_textSize"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_road_turn_icon"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_next_info_road_turn_icon"
|
||||
android:text="53" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_navi_next_info_distance_unit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginLeft"
|
||||
android:layout_marginBottom="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginBottom"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_unit_textSize"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_navi_next_info_distance"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_distance"
|
||||
android:text="米" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_navi_next_info_turn_info"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginLeft"
|
||||
android:layout_marginBottom="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginBottom"
|
||||
android:textColor="#7FF1F1F1"
|
||||
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_unit_textSize"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_navi_next_info_distance_unit"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_distance_unit"
|
||||
android:text="左转进入" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_navi_next_info_road"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/module_ext_navi_next_info_road_marginTop"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_navi_info_panel_next_info_road_textSize"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_next_info_road_turn_icon"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_navi_next_info_distance"
|
||||
android:text="北三环东路辅路" />
|
||||
|
||||
<!--remain distance-->
|
||||
<ImageView
|
||||
android:id="@+id/module_map_id_remaining_distance_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_117"
|
||||
android:src="@drawable/module_ext_ic_navi_info1"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_remaining_distance"
|
||||
app:layout_constraintRight_toLeftOf="@id/module_map_id_remaining_time_icon"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_remaining_distance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_textSize"
|
||||
app:layout_constraintBottom_toTopOf="@+id/module_map_id_remaining_distance_notice"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_distance_icon"
|
||||
app:layout_constraintTop_toBottomOf="@+id/module_map_id_remaining_distance_icon"
|
||||
android:text="3599" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_remaining_distance_unit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_remaining_distance"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_remaining_distance"
|
||||
android:text="km" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_remaining_distance_notice"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="剩余"
|
||||
android:textColor="#7FFFFFFF"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_distance"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_distance" />
|
||||
|
||||
<!--remain time-->
|
||||
<ImageView
|
||||
android:id="@+id/module_map_id_remaining_time_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_117"
|
||||
android:src="@drawable/module_ext_ic_navi_info2"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_remaining_time"
|
||||
app:layout_constraintRight_toLeftOf="@id/module_map_id_arrive_time_icon"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_remaining_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_remaining_time_textSize"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_remaining_time_notice"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_time_icon"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_time_icon"
|
||||
android:text="3599" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_remaining_time_unit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_remaining_time_unit_textSize"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_remaining_time"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_remaining_time"
|
||||
android:text="km" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_remaining_time_notice"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="时间"
|
||||
android:textColor="#7FFFFFFF"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_time"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_time" />
|
||||
|
||||
<!--arrive time-->
|
||||
<ImageView
|
||||
android:id="@+id/module_map_id_arrive_time_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_95"
|
||||
android:src="@drawable/module_ext_ic_navi_info3"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_arrive_time"
|
||||
app:layout_constraintRight_toRightOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_arrive_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_arrive_time_textSize"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_arrive_time_notice"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_arrive_time_icon"
|
||||
app:layout_constraintTop_toBottomOf="@+id/module_map_id_arrive_time_icon"
|
||||
android:text="3599" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_map_id_arrive_time_notice"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="到达"
|
||||
android:textColor="#7FFFFFFF"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_arrive_time"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_map_id_arrive_time" />
|
||||
</androidx.constraintlayout.motion.widget.MotionLayout>
|
||||
@@ -79,8 +79,11 @@
|
||||
<!-- module_map_layout_navi_info_panel.xml-->
|
||||
<dimen name="module_ext_navi_info_panel_width">544px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_height">117px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_small_height">60px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_turn_icon_width">85px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_turn_icon_height">85px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_turn_icon_small_width">52px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_turn_icon_small_height">52px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_turn_icon_marginLeft">13px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_turn_icon_marginTop">13px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_next_info_distance_marginTop">20px</dimen>
|
||||
|
||||
@@ -76,9 +76,13 @@
|
||||
<!-- module_map_layout_navi_info_panel.xml-->
|
||||
<dimen name="module_ext_navi_info_panel_width">1058px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_height">210px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_small_height">144px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_turn_icon_width">159px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_turn_icon_height">159px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_turn_icon_small_width">96px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_turn_icon_small_height">96px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_turn_icon_marginLeft">24px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_turn_icon_small_marginLeft">83px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_turn_icon_marginTop">24px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_next_info_distance_marginTop">40px</dimen>
|
||||
<dimen name="module_ext_navi_info_panel_next_info_distance_textSize">60px</dimen>
|
||||
@@ -121,7 +125,7 @@
|
||||
<dimen name="module_ext_button_width">120px</dimen>
|
||||
<dimen name="module_ext_button_height">120px</dimen>
|
||||
<dimen name="module_ext_camera_button_marginTop">30px</dimen>
|
||||
<dimen name="module_ext_display_overview_textSize">122px</dimen>
|
||||
<dimen name="module_ext_display_overview_textSize">22px</dimen>
|
||||
<dimen name="module_ext_north_textSize">28px</dimen>
|
||||
|
||||
</resources>
|
||||
@@ -0,0 +1,442 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<MotionScene xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<Transition
|
||||
android:id="@+id/navi_transition"
|
||||
app:constraintSetEnd="@+id/end"
|
||||
app:constraintSetStart="@+id/start"
|
||||
app:duration="500">
|
||||
<OnSwipe
|
||||
app:dragDirection="dragUp"
|
||||
app:onTouchUp="autoComplete"
|
||||
app:touchRegionId="@+id/module_entrance_id_top_container" />
|
||||
</Transition>
|
||||
<ConstraintSet android:id="@+id/start">
|
||||
<Constraint
|
||||
android:id="@+id/module_entrance_id_top_container"
|
||||
android:layout_width="@dimen/module_ext_navi_info_panel_width"
|
||||
android:layout_height="300dp"
|
||||
android:background="#cccccc"
|
||||
app:layout_constraintBottom_toTopOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_navi_bg"
|
||||
android:layout_width="@dimen/module_ext_navi_info_panel_width"
|
||||
android:layout_height="@dimen/module_ext_navi_info_panel_height"
|
||||
android:background="@drawable/module_ext_dw_navi_info_panel_bkg"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_entrance_id_top_container" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_navi_next_info_road_turn_icon"
|
||||
android:layout_width="@dimen/module_ext_navi_info_panel_turn_icon_width"
|
||||
android:layout_height="@dimen/module_ext_navi_info_panel_turn_icon_height"
|
||||
android:layout_marginStart="@dimen/module_ext_navi_info_panel_turn_icon_marginLeft"
|
||||
android:scaleType="fitCenter"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
|
||||
android:src="@drawable/ic_11" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_navi_next_info_distance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_52"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_textSize"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_road_turn_icon"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_next_info_road_turn_icon"
|
||||
android:text="53" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_navi_next_info_distance_unit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginLeft"
|
||||
android:layout_marginBottom="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginBottom"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_unit_textSize"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_navi_next_info_distance"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_distance"
|
||||
android:text="米" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_navi_next_info_turn_info"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginLeft"
|
||||
android:layout_marginBottom="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginBottom"
|
||||
android:textColor="#7FF1F1F1"
|
||||
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_unit_textSize"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_navi_next_info_distance_unit"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_distance_unit"
|
||||
android:text="左转进入" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_navi_next_info_road"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/module_ext_navi_next_info_road_marginTop"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_navi_info_panel_next_info_road_textSize"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_next_info_road_turn_icon"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_navi_next_info_distance"
|
||||
android:text="北三环东路辅路" />
|
||||
|
||||
<!--remain distance-->
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_remaining_distance_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_117"
|
||||
android:src="@drawable/module_ext_ic_navi_info1"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_remaining_distance"
|
||||
app:layout_constraintRight_toLeftOf="@id/module_map_id_remaining_time_icon"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_remaining_distance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_textSize"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toTopOf="@+id/module_map_id_remaining_distance_notice"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_distance_icon"
|
||||
app:layout_constraintTop_toBottomOf="@+id/module_map_id_remaining_distance_icon"
|
||||
android:text="3599" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_remaining_distance_unit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_remaining_distance"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_remaining_distance"
|
||||
android:text="km" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_remaining_distance_notice"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="剩余"
|
||||
android:textColor="#7FFFFFFF"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_distance"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_distance" />
|
||||
|
||||
<!--remain time-->
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_remaining_time_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_117"
|
||||
android:src="@drawable/module_ext_ic_navi_info2"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_remaining_time"
|
||||
app:layout_constraintRight_toLeftOf="@id/module_map_id_arrive_time_icon"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_remaining_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_remaining_time_textSize"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_remaining_time_notice"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_time_icon"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_time_icon"
|
||||
android:text="3599" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_remaining_time_unit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_remaining_time_unit_textSize"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_remaining_time"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_remaining_time"
|
||||
android:text="km" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_remaining_time_notice"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="时间"
|
||||
android:textColor="#7FFFFFFF"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_time"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_time" />
|
||||
|
||||
<!--arrive time-->
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_arrive_time_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_95"
|
||||
android:src="@drawable/module_ext_ic_navi_info3"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_arrive_time"
|
||||
app:layout_constraintRight_toRightOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_arrive_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_arrive_time_textSize"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_arrive_time_notice"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_arrive_time_icon"
|
||||
app:layout_constraintTop_toBottomOf="@+id/module_map_id_arrive_time_icon"
|
||||
android:text="3599" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_arrive_time_notice"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="到达"
|
||||
android:textColor="#7FFFFFFF"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_arrive_time"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_map_id_arrive_time" />
|
||||
|
||||
</ConstraintSet>
|
||||
|
||||
<ConstraintSet android:id="@+id/end">
|
||||
<Constraint
|
||||
android:id="@+id/module_entrance_id_top_container"
|
||||
android:layout_width="@dimen/module_ext_navi_info_panel_width"
|
||||
android:layout_height="300dp"
|
||||
android:background="#cccccc"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_navi_bg"
|
||||
android:layout_width="@dimen/module_ext_navi_info_panel_width"
|
||||
android:layout_height="@dimen/module_ext_navi_info_panel_small_height"
|
||||
android:background="@drawable/module_ext_dw_navi_info_panel_bkg"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_entrance_id_top_container" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_navi_next_info_road_turn_icon"
|
||||
android:layout_width="@dimen/module_ext_navi_info_panel_turn_icon_small_width"
|
||||
android:layout_height="@dimen/module_ext_navi_info_panel_turn_icon_small_height"
|
||||
android:layout_marginStart="@dimen/module_ext_navi_info_panel_turn_icon_marginLeft"
|
||||
android:scaleType="fitCenter"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
|
||||
android:src="@drawable/ic_11" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_navi_next_info_distance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_52"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_textSize"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_next_info_road_turn_icon"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_road_turn_icon"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_next_info_road_turn_icon"
|
||||
android:text="53" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_navi_next_info_distance_unit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginLeft"
|
||||
android:layout_marginBottom="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginBottom"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_unit_textSize"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_navi_next_info_distance"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_distance"
|
||||
android:text="米" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_navi_next_info_turn_info"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginLeft"
|
||||
android:layout_marginBottom="@dimen/module_ext_navi_info_panel_next_info_distance_unit_marginBottom"
|
||||
android:textColor="#7FF1F1F1"
|
||||
android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_unit_textSize"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_navi_next_info_distance_unit"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_navi_next_info_distance_unit"
|
||||
android:text="左转进入" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_navi_next_info_road"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_20"
|
||||
android:layout_marginTop="@dimen/module_ext_navi_next_info_road_marginTop"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_navi_info_panel_next_info_road_textSize"
|
||||
app:layout_constraintBaseline_toBaselineOf="@+id/module_map_id_navi_next_info_turn_info"
|
||||
app:layout_constraintLeft_toRightOf="@+id/module_map_id_navi_next_info_turn_info"
|
||||
android:text="北三环东路辅路" />
|
||||
|
||||
<!--remain distance-->
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_remaining_distance_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_117"
|
||||
android:src="@drawable/module_ext_ic_navi_info1"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_remaining_distance"
|
||||
app:layout_constraintRight_toLeftOf="@id/module_map_id_remaining_time_icon"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_remaining_distance"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_textSize"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toTopOf="@+id/module_map_id_remaining_distance_notice"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_distance_icon"
|
||||
app:layout_constraintTop_toBottomOf="@+id/module_map_id_remaining_distance_icon"
|
||||
android:text="3599" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_remaining_distance_unit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_remaining_distance"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_remaining_distance"
|
||||
android:text="km" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_remaining_distance_notice"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="剩余"
|
||||
android:textColor="#7FFFFFFF"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_distance"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_distance" />
|
||||
|
||||
<!--remain time-->
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_remaining_time_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_117"
|
||||
android:src="@drawable/module_ext_ic_navi_info2"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_remaining_time"
|
||||
app:layout_constraintRight_toLeftOf="@id/module_map_id_arrive_time_icon"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_remaining_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_remaining_time_textSize"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_remaining_time_notice"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_time_icon"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_time_icon"
|
||||
android:text="3599" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_remaining_time_unit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_remaining_time_unit_textSize"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBaseline_toBaselineOf="@id/module_map_id_remaining_time"
|
||||
app:layout_constraintLeft_toRightOf="@id/module_map_id_remaining_time"
|
||||
android:text="km" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_remaining_time_notice"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="时间"
|
||||
android:textColor="#7FFFFFFF"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_remaining_time"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_map_id_remaining_time" />
|
||||
|
||||
<!--arrive time-->
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_arrive_time_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_95"
|
||||
android:src="@drawable/module_ext_ic_navi_info3"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_arrive_time"
|
||||
app:layout_constraintRight_toRightOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintTop_toTopOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_arrive_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#F1F1F1"
|
||||
android:textSize="@dimen/module_ext_arrive_time_textSize"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toTopOf="@id/module_map_id_arrive_time_notice"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_arrive_time_icon"
|
||||
app:layout_constraintTop_toBottomOf="@+id/module_map_id_arrive_time_icon"
|
||||
android:text="3599" />
|
||||
|
||||
<Constraint
|
||||
android:id="@+id/module_map_id_arrive_time_notice"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="到达"
|
||||
android:textColor="#7FFFFFFF"
|
||||
android:textSize="@dimen/module_ext_remaining_distance_unit_textSize"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/module_map_id_navi_bg"
|
||||
app:layout_constraintLeft_toLeftOf="@id/module_map_id_arrive_time"
|
||||
app:layout_constraintTop_toBottomOf="@id/module_map_id_arrive_time" />
|
||||
</ConstraintSet>
|
||||
</MotionScene>
|
||||
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<MotionScene xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<Transition
|
||||
app:constraintSetEnd="@+id/end_no_navi"
|
||||
app:constraintSetStart="@+id/start_no_navi"
|
||||
app:duration="1000">
|
||||
<OnSwipe
|
||||
app:dragDirection="dragUp"
|
||||
app:onTouchUp="autoComplete"
|
||||
app:touchRegionId="@+id/module_entrance_id_top_container" />
|
||||
</Transition>
|
||||
<ConstraintSet android:id="@+id/start_no_navi">
|
||||
<Constraint
|
||||
android:id="@+id/module_entrance_id_top_container"
|
||||
android:layout_width="@dimen/module_ext_navi_info_panel_width"
|
||||
android:layout_height="@dimen/dp_350"
|
||||
android:background="#cccccc"
|
||||
app:layout_constraintBottom_toTopOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent" />
|
||||
|
||||
</ConstraintSet>
|
||||
|
||||
<ConstraintSet android:id="@+id/end_no_navi">
|
||||
<Constraint
|
||||
android:id="@+id/module_entrance_id_top_container"
|
||||
android:layout_width="@dimen/module_ext_navi_info_panel_width"
|
||||
android:layout_height="@dimen/dp_350"
|
||||
android:background="#cccccc"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</ConstraintSet>
|
||||
</MotionScene>
|
||||
@@ -56,4 +56,9 @@ public class MogoWindowManager implements IMogoWindowManager {
|
||||
public void init( Context context ) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addTopView(View view) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.mogo.module.main.windowview;
|
||||
|
||||
import android.view.View;
|
||||
|
||||
/**
|
||||
* 用来处理主屏上方1/2屏的view
|
||||
*/
|
||||
public class TopViewHolder {
|
||||
public void init(){
|
||||
|
||||
}
|
||||
public void addView(View view) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -23,6 +23,7 @@ import com.mogo.service.network.IMogoNetwork;
|
||||
import com.mogo.service.statusmanager.IMogoMsgCenter;
|
||||
import com.mogo.service.statusmanager.IMogoStatusManager;
|
||||
import com.mogo.service.strategy.IMogoRefreshStrategyController;
|
||||
import com.mogo.service.windowview.IMogoTopViewManager;
|
||||
import com.mogo.service.windowview.IMogoWindowManager;
|
||||
|
||||
/**
|
||||
@@ -180,4 +181,10 @@ public interface IMogoServiceApis extends IProvider {
|
||||
* @return
|
||||
*/
|
||||
IMogoEntranceButtonController getEntranceButtonController();
|
||||
|
||||
/**
|
||||
* 获取顶部1/2屏界面管理类
|
||||
* @return
|
||||
*/
|
||||
IMogoTopViewManager getTopViewManager();
|
||||
}
|
||||
|
||||
@@ -166,4 +166,9 @@ public class MogoServicePaths {
|
||||
*/
|
||||
@Deprecated
|
||||
public static final String PATH_ENTRANCE_BUTTON_API = "/entrancebutton/api";
|
||||
|
||||
/**
|
||||
* 顶部1/2屏管理
|
||||
*/
|
||||
public static final String PATH_EXTENSIONS_TOP_VIEW_MANAGER = "/topview/api";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.mogo.service.windowview;
|
||||
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.alibaba.android.arouter.facade.template.IProvider;
|
||||
|
||||
/**
|
||||
* 管理1/2屏界面的增添,为了配合导航展示新增接口
|
||||
*/
|
||||
public interface IMogoTopViewManager extends IProvider {
|
||||
/**
|
||||
* 在1/2屏添加一个view,如果没显示,会有动画
|
||||
* 给了一个默认的LayoutParams
|
||||
*/
|
||||
void addView(View view);
|
||||
|
||||
/**
|
||||
* 在1/2屏添加一个view,如果没显示,会有动画
|
||||
* @param view
|
||||
* @param params
|
||||
*/
|
||||
void addView(View view, ViewGroup.LayoutParams params);
|
||||
|
||||
/**
|
||||
* 移除view,如果是最后一个view,会有移除动画
|
||||
* @param view
|
||||
*/
|
||||
void removeView(View view);
|
||||
|
||||
/**
|
||||
* 这个view是否已经被添加进了顶部布局
|
||||
* @param view
|
||||
* @return
|
||||
*/
|
||||
boolean isViewAdded(View view);
|
||||
}
|
||||
@@ -71,4 +71,10 @@ public interface IMogoWindowManager extends IProvider {
|
||||
* 显示所有
|
||||
*/
|
||||
void showAll();
|
||||
|
||||
/**
|
||||
* 为了配合导航动画,主屏上方1/2屏的view通过此方法添加
|
||||
* @param view 主屏上方1/2屏的view
|
||||
*/
|
||||
void addTopView(View view);
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ import com.mogo.service.network.IMogoNetwork;
|
||||
import com.mogo.service.statusmanager.IMogoMsgCenter;
|
||||
import com.mogo.service.statusmanager.IMogoStatusManager;
|
||||
import com.mogo.service.strategy.IMogoRefreshStrategyController;
|
||||
import com.mogo.service.windowview.IMogoTopViewManager;
|
||||
import com.mogo.service.windowview.IMogoWindowManager;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
@@ -159,7 +160,12 @@ public class MogoServiceApis implements IMogoServiceApis {
|
||||
return getApiInstance( IMogoEntranceButtonController.class, MogoServicePaths.PATH_ENTRANCE_BUTTON_API );
|
||||
}
|
||||
|
||||
private static < T extends IProvider > T getApiInstance( Class< T > clazz, String path ) {
|
||||
@Override
|
||||
public IMogoTopViewManager getTopViewManager() {
|
||||
return getApiInstance(IMogoTopViewManager.class,MogoServicePaths.PATH_EXTENSIONS_TOP_VIEW_MANAGER);
|
||||
}
|
||||
|
||||
private static < T extends IProvider > T getApiInstance(Class< T > clazz, String path ) {
|
||||
T inst = SingletonsHolder.get( clazz );
|
||||
if ( inst == null ) {
|
||||
synchronized ( sLock ) {
|
||||
|
||||
Reference in New Issue
Block a user