diff --git a/.idea/misc.xml b/.idea/misc.xml index 2dc54c489f..707ee6e613 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 9172cdd059..24a76c0c38 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -25,7 +25,7 @@ android { externalNativeBuild { ndk { // 设置支持的SO库架构 - abiFilters 'armeabi-v7a' + abiFilters 'armeabi-v7a','x86' } } } diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 3b339d9a2d..b2c9f7f484 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -55,7 +55,7 @@ public class MogoApplication extends AbsMogoApplication { MogoModulePaths.addModule(new MogoModule(AdCardConstants.TAG, AdCardConstants.MODULE_NAME)); MogoModulePaths.addModule(new MogoModule(MediaConstants.TAG, MediaConstants.MODULE_TYPE)); MogoModulePaths.addModule(new MogoModule(CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME)); - MogoModulePaths.addModule(new MogoModule(TanluConstants.TAG, TanluConstants.MODEL_NAME)); +// MogoModulePaths.addModule(new MogoModule(TanluConstants.TAG, TanluConstants.MODEL_NAME)); MogoModulePaths.addModule(new MogoModule(OnLineCarConstants.TAG, OnLineCarConstants.MODULE_NAME)); MogoModulePaths.addModule(new MogoModule(V2XConst.PATH_V2X_UI, V2XConst.PATH_V2X_UI)); diff --git a/config.gradle b/config.gradle index eaf710f48d..5e56778f48 100644 --- a/config.gradle +++ b/config.gradle @@ -13,7 +13,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", 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 bc82a3cdc3..d8512e230d 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 @@ -6,6 +6,9 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; +import android.transition.AutoTransition; +import android.transition.Transition; +import android.transition.TransitionManager; import android.util.Log; import android.view.View; import android.widget.ImageView; @@ -14,6 +17,11 @@ import android.widget.TextView; import androidx.annotation.DrawableRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.constraintlayout.motion.widget.MotionLayout; +import androidx.constraintlayout.motion.widget.MotionScene; +import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.constraintlayout.widget.ConstraintSet; +import androidx.constraintlayout.widget.Group; import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.mvp.MvpFragment; @@ -37,6 +45,7 @@ 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.navi.NaviInfoView2; import com.mogo.module.share.ShareControl; import com.mogo.service.IMogoServiceApis; import com.mogo.service.MogoServicePaths; @@ -79,7 +88,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent private View mMove2CurrentLocation; - private NaviInfoView mNaviInfo; +// private NaviInfoView mNaviInfo; private TextView mExitNavi; @@ -101,6 +110,8 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent private EntrancePresenter mEntrancePresenter; private IMogoAuthorizeModuleManager mIMogoAuthorizeModuleManager; private IMogoStatusManager mStatusManager; + private ConstraintLayout topMotionLayout; + private NaviInfoView2 naviInfoView; /** * 搜索莫模块 @@ -162,6 +173,8 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent private Rect mDisplayOverviewBounds; + private boolean toggle = false; + @Override protected int getLayoutId() { return R.layout.module_ext_layout_entrance; @@ -182,15 +195,50 @@ 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 -> { - isClickShare = true; - if ( mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) { - mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE ); - } else { - ShareControl.getInstance( getActivity() ).showDialog(); - traceData( "1" ); + // todo 测试动画 + naviInfoView.setVisibility(View.VISIBLE); + + ConstraintSet beginSet = new ConstraintSet(); + beginSet.clone(topMotionLayout); + ConstraintSet endSet = new ConstraintSet(); + endSet.clone(topMotionLayout); + + beginSet.getConstraint(R.id.module_entrance_id_top_container).layout.bottomToTop = + R.id.module_entrance_id_top_motion_layout; + beginSet.getConstraint(R.id.module_entrance_id_top_container).layout.topToTop = -1; + + endSet.getConstraint(R.id.module_entrance_id_top_container).layout.bottomToTop = -1; + endSet.getConstraint(R.id.module_entrance_id_top_container).layout.topToTop = + R.id.module_entrance_id_top_motion_layout; +// topMotionLayout.setScene(hasNaviScene); + Transition transition = new AutoTransition(); + transition.setDuration(500); + TransitionManager.beginDelayedTransition(topMotionLayout,transition); + if(!toggle) { + endSet.applyTo(topMotionLayout); + naviInfoView.getLayoutParams().height = + (int) getResources().getDimension(R.dimen.module_ext_navi_info_panel_small_height); +// naviInfoView.transitionToEnd(); + }else{ + beginSet.applyTo(topMotionLayout); + naviInfoView.getLayoutParams().height = + (int) getResources().getDimension(R.dimen.module_ext_navi_info_panel_height); +// naviInfoView.transitionToStart(); } + toggle = !toggle; + // 原始逻辑 +// isClickShare = true; +// if ( mIMogoAuthorizeModuleManager.needAuthorize( AUTHORIZE_TYPE_LAUNCHER_SHARE ) ) { +// mIMogoAuthorizeModuleManager.invokeAuthorization( AUTHORIZE_TYPE_LAUNCHER_SHARE ); +// } else { +// ShareControl.getInstance( getActivity() ).showDialog(); +// traceData( "1" ); +// } } ); + topMotionLayout = findViewById(R.id.module_entrance_id_top_motion_layout); + naviInfoView = findViewById(R.id.mlNaviInfo); + mDisplayOverview = findViewById( R.id.module_ext_id_display_overview ); mDisplayOverviewText = findViewById( R.id.module_ext_id_display_overview_text ); mDisplayOverviewIcon = findViewById( R.id.module_ext_id_display_overview_icon ); @@ -205,19 +253,43 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent mMove2CurrentLocation = findViewById( R.id.module_entrance_id_move2_current_location ); mMove2CurrentLocation.setOnClickListener( view -> { - final MogoLocation location = mMogoLocationClient.getLastKnowLocation(); - if ( location != null ) { - if ( !mMogoStatusManager.isV2XShow() ) { - mMogoStatusManager.setUserInteractionStatus( TAG, true, false ); - mMApUIController.setLockZoom( 16 ); - mMApUIController.changeZoom( 16.0f ); - } - mMogoStatusManager.setUserInteractionStatus( TAG, true, false ); - mMApUIController.recoverLockMode(); + // todo 测试动画 + naviInfoView.setVisibility(View.GONE); + + ConstraintSet beginSet = new ConstraintSet(); + beginSet.clone(topMotionLayout); + ConstraintSet endSet = new ConstraintSet(); + endSet.clone(topMotionLayout); + + beginSet.getConstraint(R.id.module_entrance_id_top_container).layout.bottomToTop = + R.id.module_entrance_id_top_motion_layout; + beginSet.getConstraint(R.id.module_entrance_id_top_container).layout.topToTop = -1; + + endSet.getConstraint(R.id.module_entrance_id_top_container).layout.bottomToTop = -1; + endSet.getConstraint(R.id.module_entrance_id_top_container).layout.topToTop = + R.id.module_entrance_id_top_motion_layout; +// topMotionLayout.setScene(hasNaviScene); + TransitionManager.beginDelayedTransition(topMotionLayout); + if(!toggle) { + endSet.applyTo(topMotionLayout); + }else{ + beginSet.applyTo(topMotionLayout); } + toggle = !toggle; + // 原始逻辑 +// final MogoLocation location = mMogoLocationClient.getLastKnowLocation(); +// if ( location != null ) { +// if ( !mMogoStatusManager.isV2XShow() ) { +// mMogoStatusManager.setUserInteractionStatus( TAG, true, false ); +// mMApUIController.setLockZoom( 16 ); +// mMApUIController.changeZoom( 16.0f ); +// } +// mMogoStatusManager.setUserInteractionStatus( TAG, true, false ); +// mMApUIController.recoverLockMode(); +// } } ); - mNaviInfo = findViewById( R.id.module_entrance_id_navi_info_panel ); +// mNaviInfo = findViewById( R.id.module_entrance_id_navi_info_panel ); mExitNavi = findViewById( R.id.module_entrance_id_exit_navi ); mExitNavi.setOnClickListener( view -> { if ( mMogoNavi != null ) { @@ -347,12 +419,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, () -> { @@ -364,7 +436,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 ); diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/BaseNaviInfoView2.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/BaseNaviInfoView2.java new file mode 100644 index 0000000000..a907ee7994 --- /dev/null +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/BaseNaviInfoView2.java @@ -0,0 +1,170 @@ +package com.mogo.module.extensions.navi; + +import android.content.Context; +import android.util.AttributeSet; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.TextView; + +import androidx.annotation.Nullable; +import androidx.constraintlayout.motion.widget.MotionLayout; +import androidx.constraintlayout.widget.ConstraintLayout; + +import com.mogo.map.impl.amap.utils.IconTypeUtils; +import com.mogo.map.navi.MogoNaviInfo; + +import java.text.SimpleDateFormat; +import java.util.Calendar; + +/** + * @author congtaowang + * @since 2019-10-03 + *

+ * 描述 + */ +public abstract class BaseNaviInfoView2 extends ConstraintLayout { + + public BaseNaviInfoView2(Context context ) { + this( context, null ); + } + + public BaseNaviInfoView2(Context context, @Nullable AttributeSet attrs ) { + this( context, attrs, 0 ); + } + + public BaseNaviInfoView2(Context context, @Nullable AttributeSet attrs, int defStyleAttr ) { + super( context, attrs, defStyleAttr ); + } + + public void notifyChanged( MogoNaviInfo naviInfo ) { + + } + + protected void fillNextCrossTurning( TextView target, int nextIconType ) { + target.setText( "后" + IconTypeUtils.getNameByIconType( nextIconType ) ); + } + + protected void fillNextCrossIconType( ImageView target, int iconId ) { + if ( iconId > 0 ) { + target.setImageResource( iconId ); + } + } + + protected void fillNextCrossDistance( TextView target, TextView unit, int distance ) { + if ( distance >= 1000 ) { + target.setText( String.format( "%.1f", distance / 1000f ) ); + unit.setText( "km" ); + } else { + target.setText( distance + "" ); + unit.setText( "m" ); + } + } + + protected void fillFormatSurplusDistance( int m, StringBuilder builder ) { + if ( m >= 1000 ) { + builder.append( String.format( "%.1fkm", m / 1000f ) ); + } else { + builder.append( m ).append( "m" ); + } + } + + protected String getFormatSurplusDistance( int m ) { + if ( m >= 1000 ) { + mFormatSurplusDistanceUnit = "km"; + return String.format( "%.1f", m / 1000f ); + } else { + mFormatSurplusDistanceUnit = "m"; + return String.format( "%d", m ); + } + } + + private String mFormatSurplusDistanceUnit = ""; + + protected String getFormatSurplusDistanceUnit() { + return mFormatSurplusDistanceUnit; + } + + protected String getFormatSurplusTime( int seconds ) { + if ( seconds > 60 * 60 ) { + mFormatSurplusDistanceUnit = "h"; + return String.format( "%.1f", ( ( float ) seconds ) / 60 * 60 ); + } + + if ( seconds > 60 ) { + mFormatSurplusTimeUnit = "min"; + return String.format( "%.1f", ( ( float ) seconds ) / 60 ); + } + + mFormatSurplusTimeUnit = "s"; + return String.format( "%d", seconds ); + } + + private String mFormatSurplusTimeUnit = ""; + + protected String getFormatSurplusTimeUnit() { + return mFormatSurplusTimeUnit; + } + + protected void fillFormatTime( int seconds, StringBuilder builder ) { + int days = seconds / ( 24 * 60 * 60 ); + if ( days > 0 ) { + builder.append( days ).append( "天" ); + } + seconds -= days * 24 * 60 * 60; + int hours = seconds / ( 60 * 60 ); + if ( hours > 0 ) { + builder.append( hours ).append( "小时" ); + } + seconds -= hours * 60 * 60; + int min = seconds / 60; + builder.append( min > 1 ? min : 1 ).append( "分钟" ); + } + + protected String getArriveTime( int seconds ) { + int days = seconds / ( 24 * 60 * 60 ); + if ( days > 0 ) { + return String.format( "%d天后", days ); + } else { + seconds -= days * 24 * 60 * 60; + int hours = seconds / ( 60 * 60 ); + seconds -= hours * 60 * 60; + int min = seconds / 60; + Calendar calendar = Calendar.getInstance(); + int curHour = calendar.get( Calendar.HOUR_OF_DAY ); + int curMin = calendar.get( Calendar.MINUTE ); + if ( curHour + hours + ( curMin + min ) / 60 > 24 ) { + return "一天后"; + } else { + calendar.add( Calendar.HOUR_OF_DAY, hours ); + calendar.add( Calendar.MINUTE, min ); + SimpleDateFormat dateFormat = new SimpleDateFormat( "HH:mm" ); + return dateFormat.format( calendar.getTime() ); + } + } + } + + protected void fillArriveTime( int seconds, StringBuilder builder ) { + + int days = seconds / ( 24 * 60 * 60 ); + if ( days > 0 ) { + builder.append( days ).append( "天后" ); + } else { + seconds -= days * 24 * 60 * 60; + int hours = seconds / ( 60 * 60 ); + seconds -= hours * 60 * 60; + int min = seconds / 60; + Calendar calendar = Calendar.getInstance(); + int curHour = calendar.get( Calendar.HOUR_OF_DAY ); + int curMin = calendar.get( Calendar.MINUTE ); + if ( curHour + hours + ( curMin + min ) / 60 > 24 ) { + builder.append( "一天后" ); + } else { + calendar.add( Calendar.HOUR_OF_DAY, hours ); + calendar.add( Calendar.MINUTE, min ); + SimpleDateFormat dateFormat = new SimpleDateFormat( "HH:mm" ); + builder.append( dateFormat.format( calendar.getTime() ) ); + } + } + builder.append( "到达" ); + } +} diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/NaviInfoView2.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/NaviInfoView2.java new file mode 100644 index 0000000000..8c6784453f --- /dev/null +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/navi/NaviInfoView2.java @@ -0,0 +1,66 @@ +package com.mogo.module.extensions.navi; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.constraintlayout.widget.Group; + +import com.mogo.module.extensions.R; + +/** + * 改变实现方式,使用MotionLayout来实现,方便增加动画 + * + * @author tongchenfei + */ +public class NaviInfoView2 extends BaseNaviInfoView2 { + private ImageView ivTurnIcon; + private View vBg; + private TextView tvNextDistance; + private TextView tvNextDistanceUnit; + private TextView tvNextTurnInfo; + private TextView tvNextRoad; + private Group remainDistanceGroup,remainTimeGroup, arriveTimeGroup; + + public NaviInfoView2(Context context) { + this(context,null); + } + + public NaviInfoView2(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public NaviInfoView2(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + ivTurnIcon = findViewById(R.id.module_map_id_navi_next_info_road_turn_icon); + vBg = findViewById(R.id.module_map_id_navi_bg); + tvNextDistance = findViewById(R.id.module_map_id_navi_next_info_distance); + tvNextRoad = findViewById(R.id.module_map_id_navi_next_info_road); + remainDistanceGroup = findViewById(R.id.remainDistanceGroup); + remainTimeGroup = findViewById(R.id.remainTimeGroup); + arriveTimeGroup = findViewById(R.id.arriveTimeGroup); + } + + /** + * 布局约束转成小的 + */ + public void setToSmall(){ + ivTurnIcon.getLayoutParams().width = + (int) getResources().getDimension(R.dimen.module_ext_navi_info_panel_turn_icon_small_width); + ivTurnIcon.getLayoutParams().height = + (int) getResources().getDimension(R.dimen.module_ext_navi_info_panel_turn_icon_small_width); + vBg.getLayoutParams().height = + (int) getResources().getDimension(R.dimen.module_ext_navi_info_panel_small_height); + + } + + public void setToBig(){ + ivTurnIcon.getLayoutParams().width = + (int) getResources().getDimension(R.dimen.module_ext_navi_info_panel_turn_icon_width); + ivTurnIcon.getLayoutParams().height = + (int) getResources().getDimension(R.dimen.module_ext_navi_info_panel_turn_icon_width); + + } +} 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 77d36f91e1..c4743dc657 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 @@ -1,17 +1,237 @@ - + + + + + + + + + app:layout_constraintRight_toRightOf="parent" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -38,10 +258,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" - tools:visibility="visible"> + android:visibility="visible" + app:layout_constraintLeft_toLeftOf="@+id/mlNaviInfo" + app:layout_constraintTop_toBottomOf="@+id/mlNaviInfo"> + android:visibility="visible" /> + android:visibility="visible" /> + android:visibility="visible" /> + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_map_layout_navi_info_panel_2.xml b/modules/mogo-module-extensions/src/main/res/layout/module_map_layout_navi_info_panel_2.xml new file mode 100644 index 0000000000..729703ad4e --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res/layout/module_map_layout_navi_info_panel_2.xml @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml index b1ced3e457..2c9dfd1b3c 100644 --- a/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml @@ -79,8 +79,11 @@ 1058px 210px + 144px 85px 85px + 56px + 56px 13px 13px 20px diff --git a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml index b062b26c4a..9374230b56 100644 --- a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml @@ -76,9 +76,13 @@ 1058px 210px + 144px 159px 159px + 56px + 56px 24px + 83px 24px 40px 60px diff --git a/modules/mogo-module-extensions/src/main/res/xml/module_ext_top_motion.xml b/modules/mogo-module-extensions/src/main/res/xml/module_ext_top_motion.xml new file mode 100644 index 0000000000..99a7f0e15c --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res/xml/module_ext_top_motion.xml @@ -0,0 +1,442 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/xml/module_ext_top_no_navi_motion.xml b/modules/mogo-module-extensions/src/main/res/xml/module_ext_top_no_navi_motion.xml new file mode 100644 index 0000000000..8fda6c7123 --- /dev/null +++ b/modules/mogo-module-extensions/src/main/res/xml/module_ext_top_no_navi_motion.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/windowview/MogoWindowManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/windowview/MogoWindowManager.java index f7b69a8dd2..cc87d1dbc5 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/windowview/MogoWindowManager.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/windowview/MogoWindowManager.java @@ -56,4 +56,9 @@ public class MogoWindowManager implements IMogoWindowManager { public void init( Context context ) { } + + @Override + public void addTopView(View view) { + + } } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/windowview/TopViewHolder.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/windowview/TopViewHolder.java new file mode 100644 index 0000000000..12bc772e07 --- /dev/null +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/windowview/TopViewHolder.java @@ -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) { + + } +} diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/windowview/IMogoWindowManager.java b/services/mogo-service-api/src/main/java/com/mogo/service/windowview/IMogoWindowManager.java index 6ef9929854..591f113706 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/windowview/IMogoWindowManager.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/windowview/IMogoWindowManager.java @@ -71,4 +71,10 @@ public interface IMogoWindowManager extends IProvider { * 显示所有 */ void showAll(); + + /** + * 为了配合导航动画,主屏上方1/2屏的view通过此方法添加 + * @param view 主屏上方1/2屏的view + */ + void addTopView(View view); }