调整m1布局结构

This commit is contained in:
tongchenfei
2020-11-12 20:28:38 +08:00
parent d6e8e13338
commit 1778f80443
6 changed files with 241 additions and 105 deletions

2
.idea/misc.xml generated
View File

@@ -4,7 +4,7 @@
<asm skipDebug="false" skipFrames="false" skipCode="false" expandFrames="false" />
<groovy codeStyle="LEGACY" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="JDK" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
</project>

View File

@@ -4,6 +4,7 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Rect;
import android.os.Bundle;
import android.os.Debug;
import android.os.Handler;
import android.text.TextUtils;
import android.util.TypedValue;
@@ -397,6 +398,14 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
debugTopView();
if (!DebugConfig.isMapBased()) {
// 不基于地图的版本需要隐藏一些按钮
mMove2CurrentLocation.setVisibility(View.GONE);
mWeatherContainer.setVisibility(View.GONE);
mMsgContainer.setVisibility(View.GONE);
mUserHeadImg.setVisibility(View.GONE);
}
isShowGuide = SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).getBoolean(getSpGuide(), false);
Logger.d(TAG, " isShowGuide = " + isShowGuide + " --isGreaterThanOneDay = " + isGreaterThanOneDay());
if (isShowGuide && isGreaterThanOneDay()) {
@@ -662,6 +671,9 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
@Override
public void onStartNavi() {
if (!DebugConfig.isMapBased()) {
return;
}
TopViewAnimHelper.getInstance().showNaviView();
mMApUIController.changeMapMode(mCameraMode.isSelected() ? EnumMapUI.NorthUP_2D :
EnumMapUI.CarUp_2D);
@@ -688,6 +700,9 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
@Override
public void onStopNavi() {
if (!DebugConfig.isMapBased()) {
return;
}
TopViewAnimHelper.getInstance().hideNaviView();
mExitNavi.setVisibility(View.GONE);
mMApUIController.changeMapMode(EnumMapUI.NorthUP_2D);
@@ -768,6 +783,9 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
@Override
public void renderWeatherInfo(String temp, String desc, int iconId) {
if (!DebugConfig.isMapBased()) {
return;
}
boolean hidden = false;
if (iconId != 0) {
mWeatherIcon.setImageResource(iconId);
@@ -784,6 +802,9 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
@Override
public void renderMsgInfo(boolean hasMsg, int amount) {
if (!DebugConfig.isMapBased()) {
return;
}
mMsgContainer.setVisibility(hasMsg ? View.VISIBLE : View.GONE);
mMsgCounter.setText(amount > MAX_DISPLAY_MSG_AMOUNT ?
getString(R.string.module_ext_str_dots) : String.valueOf(amount));
@@ -791,6 +812,9 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
@Override
public void renderUserInfo(UserInfo userInfo) {
if (!DebugConfig.isMapBased()) {
return;
}
if (userInfo != null) {
Logger.d(TAG, "renderUserInfo: " + userInfo);
RequestOptions options =

View File

@@ -17,6 +17,7 @@ import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.constraintlayout.widget.ConstraintSet;
import androidx.constraintlayout.widget.Group;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.map.MapCenterPointStrategy;
@@ -55,6 +56,8 @@ public class TopViewAnimHelper {
private Transition transition;
private TextView cameraMode;
private View shader;
private float topHeight = 0f;
private Handler handler = new Handler();
@@ -99,6 +102,8 @@ public class TopViewAnimHelper {
tvNextDistanceUnit = rootView.findViewById(R.id.module_map_id_navi_next_info_distance_unit);
tvTurnInfo = rootView.findViewById(R.id.module_map_id_navi_next_info_turn_info);
shader = rootView.findViewById(R.id.module_ext_id_top_container_shader);
topContainer.setSlideListener(this::startLatestTopOutAnim);
ivTurnIcon = rootView.findViewById(R.id.module_map_id_navi_next_info_road_turn_icon);
@@ -385,6 +390,9 @@ public class TopViewAnimHelper {
TransitionManager.beginDelayedTransition(topMotionLayout, transition);
// }
checkCameraModePosition(false);
if (DebugConfig.isMapBased()) {
shader.setVisibility(View.VISIBLE);
}
if (naviBg.getVisibility() == View.VISIBLE) {
// 约束设置需要在applyTo()方法之前执行visiable设置需要在applyTo()
// 方法之后执行才能生效,所以分开了两个判断,至于为什么这么做才能生效,不得而知
@@ -483,6 +491,10 @@ public class TopViewAnimHelper {
TransitionManager.beginDelayedTransition(topMotionLayout, transition);
checkCameraModePosition(false);
if (DebugConfig.isMapBased()) {
shader.setVisibility(View.GONE);
}
if (naviBg.getVisibility() == View.VISIBLE) {
// 约束设置需要在applyTo()方法之前执行visiable设置需要在applyTo()
// 方法之后执行才能生效,所以分开了两个判断,至于为什么这么做才能生效,不得而知

View File

@@ -15,6 +15,7 @@ import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.constraintlayout.widget.ConstraintSet;
import androidx.constraintlayout.widget.Group;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.map.MapCenterPointStrategy;
@@ -53,6 +54,8 @@ public class TopViewNoLinkageAnimHelper {
private Transition transition;
private TextView cameraMode;
private View shader;
private float topHeight = 0f;
private Handler handler = new Handler();
@@ -97,6 +100,8 @@ public class TopViewNoLinkageAnimHelper {
tvNextDistanceUnit = rootView.findViewById(R.id.module_map_id_navi_next_info_distance_unit);
tvTurnInfo = rootView.findViewById(R.id.module_map_id_navi_next_info_turn_info);
shader = rootView.findViewById(R.id.module_ext_id_top_container_shader);
topContainerNoLinkage.setSlideListener(this::startLatestTopOutAnim);
ivTurnIcon = rootView.findViewById(R.id.module_map_id_navi_next_info_road_turn_icon);
@@ -370,7 +375,9 @@ public class TopViewNoLinkageAnimHelper {
R.id.module_entrance_id_top_motion_layout, ConstraintSet.TOP);
TransitionManager.beginDelayedTransition(topMotionLayout, transition);
checkCameraModePosition(false);
if (DebugConfig.isMapBased()) {
shader.setVisibility(View.VISIBLE);
}
constraintSet.applyTo(topMotionLayout);
int scene = Scene.AIMLESS_WITH_ROAD_EVENT;

View File

@@ -16,109 +16,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<include
layout="@layout/include_navi_info_panle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/module_ext_id_north"
android:layout_width="@dimen/module_ext_button_width"
android:layout_height="@dimen/module_ext_button_height"
android:layout_marginTop="@dimen/module_ext_camera_button_marginTop"
android:background="@drawable/module_ext_dw_common_corner_bkg"
android:drawableTop="@drawable/selector_icon_north_up"
android:gravity="center_horizontal"
android:paddingTop="@dimen/dp_14"
android:text="@string/mode_north_up"
android:textColor="@color/module_ext_color_voice_text"
android:textSize="@dimen/module_ext_north_textSize"
android:textStyle="bold"
android:visibility="gone"
app:layout_constraintRight_toRightOf="@+id/module_entrance_id_move2_current_location"
app:layout_constraintTop_toBottomOf="@+id/module_map_id_navi_bg"
app:layout_goneMarginTop="@dimen/module_ext_north_goneMarginTop"
tools:visibility="visible" />
<TextView
android:id="@+id/module_ext_id_destination_online_car"
android:layout_width="wrap_content"
android:layout_height="@dimen/module_ext_button_height"
android:layout_marginTop="@dimen/module_ext_camera_button_marginTop"
android:background="@drawable/module_ext_dw_navi_info_panel_bkg"
android:drawableLeft="@drawable/module_ext_destination_online_car_dw"
android:drawablePadding="@dimen/module_ext_destination_online_car_drawablePadding"
android:gravity="center_vertical"
android:text="@string/module_ext_destination_online_car_text"
android:visibility="gone"
android:textColor="@color/module_ext_color_voice_text"
android:textSize="@dimen/module_ext_north_textSize"
android:textStyle="bold"
android:paddingRight="@dimen/module_ext_destination_online_car_paddingRight"
android:layout_marginLeft="@dimen/module_common_shadow_width_pos"
android:paddingLeft="@dimen/module_ext_destination_online_car_paddingLeft"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/module_map_id_navi_bg"
app:layout_goneMarginTop="@dimen/module_ext_north_goneMarginTop"
tools:visibility="visible" />
<!--关联别的控件的头部容器-->
<com.mogo.module.extensions.navi.TopView
android:id="@+id/module_entrance_id_top_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
<!--没有关联别的控件的头部弹窗容器-->
<com.mogo.module.extensions.navi.TopView
android:id="@+id/module_entrance_id_top_container_no_linkage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
<LinearLayout
android:id="@+id/module_ext_id_display_overview"
android:layout_width="@dimen/module_ext_button_width"
android:layout_height="@dimen/module_ext_button_height"
android:layout_marginTop="@dimen/module_ext_camera_button_marginTop"
android:background="@drawable/module_ext_dw_common_corner_bkg"
android:gravity="center_horizontal"
android:orientation="vertical"
android:visibility="gone"
android:layout_marginLeft="@dimen/module_common_shadow_width_pos"
app:layout_constraintLeft_toLeftOf="@+id/module_map_id_navi_bg"
app:layout_constraintTop_toBottomOf="@+id/module_map_id_navi_bg"
tools:visibility="gone">
<ImageView
android:id="@+id/module_ext_id_display_overview_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/module_ext_display_overview_icon_marginTop"
android:src="@drawable/module_ext_ic_display_overview" />
<TextView
android:id="@+id/module_ext_id_display_overview_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:text="全览"
android:textColor="@color/module_ext_color_voice_text"
android:textSize="@dimen/module_ext_display_overview_textSize_large"
android:textStyle="bold" />
</LinearLayout>
<ImageButton
android:id="@+id/module_entrance_id_move2_current_location"
android:layout_width="@dimen/module_ext_operation_panel_width"
@@ -211,6 +108,112 @@
</FrameLayout>
</LinearLayout>
<FrameLayout
android:id="@+id/module_ext_id_top_container_shader"
android:background="#7f000000"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"/>
<include
layout="@layout/include_navi_info_panle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/module_ext_id_north"
android:layout_width="@dimen/module_ext_button_width"
android:layout_height="@dimen/module_ext_button_height"
android:layout_marginTop="@dimen/module_ext_camera_button_marginTop"
android:background="@drawable/module_ext_dw_common_corner_bkg"
android:drawableTop="@drawable/selector_icon_north_up"
android:gravity="center_horizontal"
android:paddingTop="@dimen/dp_14"
android:text="@string/mode_north_up"
android:textColor="@color/module_ext_color_voice_text"
android:textSize="@dimen/module_ext_north_textSize"
android:textStyle="bold"
android:visibility="gone"
app:layout_constraintRight_toRightOf="@+id/module_entrance_id_move2_current_location"
app:layout_constraintTop_toBottomOf="@+id/module_map_id_navi_bg"
app:layout_goneMarginTop="@dimen/module_ext_north_goneMarginTop"
tools:visibility="visible" />
<TextView
android:id="@+id/module_ext_id_destination_online_car"
android:layout_width="wrap_content"
android:layout_height="@dimen/module_ext_button_height"
android:layout_marginTop="@dimen/module_ext_camera_button_marginTop"
android:background="@drawable/module_ext_dw_navi_info_panel_bkg"
android:drawableLeft="@drawable/module_ext_destination_online_car_dw"
android:drawablePadding="@dimen/module_ext_destination_online_car_drawablePadding"
android:gravity="center_vertical"
android:text="@string/module_ext_destination_online_car_text"
android:visibility="gone"
android:textColor="@color/module_ext_color_voice_text"
android:textSize="@dimen/module_ext_north_textSize"
android:textStyle="bold"
android:paddingRight="@dimen/module_ext_destination_online_car_paddingRight"
android:layout_marginLeft="@dimen/module_common_shadow_width_pos"
android:paddingLeft="@dimen/module_ext_destination_online_car_paddingLeft"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/module_map_id_navi_bg"
app:layout_goneMarginTop="@dimen/module_ext_north_goneMarginTop"
tools:visibility="visible" />
<!--关联别的控件的头部容器-->
<com.mogo.module.extensions.navi.TopView
android:id="@+id/module_entrance_id_top_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
<!--没有关联别的控件的头部弹窗容器-->
<com.mogo.module.extensions.navi.TopView
android:id="@+id/module_entrance_id_top_container_no_linkage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
<LinearLayout
android:id="@+id/module_ext_id_display_overview"
android:layout_width="@dimen/module_ext_button_width"
android:layout_height="@dimen/module_ext_button_height"
android:layout_marginTop="@dimen/module_ext_camera_button_marginTop"
android:background="@drawable/module_ext_dw_common_corner_bkg"
android:gravity="center_horizontal"
android:orientation="vertical"
android:visibility="gone"
android:layout_marginLeft="@dimen/module_common_shadow_width_pos"
app:layout_constraintLeft_toLeftOf="@+id/module_map_id_navi_bg"
app:layout_constraintTop_toBottomOf="@+id/module_map_id_navi_bg"
tools:visibility="gone">
<ImageView
android:id="@+id/module_ext_id_display_overview_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/module_ext_display_overview_icon_marginTop"
android:src="@drawable/module_ext_ic_display_overview" />
<TextView
android:id="@+id/module_ext_id_display_overview_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:text="全览"
android:textColor="@color/module_ext_color_voice_text"
android:textSize="@dimen/module_ext_display_overview_textSize_large"
android:textStyle="bold" />
</LinearLayout>
<Button
android:id="@+id/btnDebugCtrlTopView"

View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- 地图-->
<FrameLayout
android:id="@+id/module_main_id_map_fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<FrameLayout
android:id="@+id/module_main_id_map_left_shadow_frame"
android:layout_width="@dimen/module_main_map_left_shadow_frame_width"
android:layout_height="match_parent"
android:background="@drawable/module_main_dw_left_frame_bkg"
android:visibility="gone"
tools:visibility="visible" />
<!-- 左边按钮 -->
<FrameLayout
android:id="@+id/module_main_id_apps_fragment_container"
android:layout_width="@dimen/module_main_apps_fragment_container_width"
android:layout_height="match_parent"
android:paddingLeft="@dimen/module_main_apps_fragment_container_padding"
android:paddingRight="@dimen/module_main_apps_fragment_container_padding"
android:paddingTop="@dimen/module_main_apps_fragment_container_paddingTop"
android:paddingBottom="@dimen/module_main_apps_fragment_container_paddingTop"/>
<!-- 左侧浮层,布局位置目前只考虑了1+16独立app情况 -->
<FrameLayout
android:id="@+id/module_main_id_left_panel_fragment_container"
android:layout_width="@dimen/module_main_id_left_panel_fragment_container_width"
android:layout_height="match_parent" />
<!-- 浮层-->
<FrameLayout
android:id="@+id/module_main_id_floating_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<FrameLayout
android:id="@+id/module_main_id_event_panel_fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/module_main_id_entrance_fragment_container_marginLeft"
android:paddingLeft="@dimen/module_main_apps_fragment_container_padding"
android:paddingRight="@dimen/module_main_apps_fragment_container_padding"
android:paddingTop="@dimen/module_main_apps_fragment_container_paddingTop"
android:paddingBottom="@dimen/module_main_apps_fragment_container_paddingTop" />
<!--快捷操作浮层-->
<FrameLayout
android:id="@+id/module_main_id_entrance_fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/module_main_id_entrance_fragment_container_marginLeft"
android:paddingLeft="@dimen/module_main_apps_fragment_container_padding"
android:paddingRight="@dimen/module_main_apps_fragment_container_padding"
android:paddingTop="@dimen/module_main_apps_fragment_container_paddingTop"
android:paddingBottom="@dimen/module_main_apps_fragment_container_paddingTop" />
<FrameLayout
android:id="@+id/module_main_id_message_history_fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/module_main_id_entrance_fragment_container_marginLeft"/>
<FrameLayout
android:id="@+id/module_main_id_search_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/module_main_id_cover_up"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:background="@drawable/main_bitmap_splash_bg"
android:visibility="visible" />
<FrameLayout
android:id="@+id/module_main_id_splash_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>