This commit is contained in:
zhongchao
2021-05-13 15:32:57 +08:00
16 changed files with 295 additions and 65 deletions

1
.idea/gradle.xml generated
View File

@@ -91,6 +91,7 @@
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
<option name="useQualifiedModuleNames" value="true" />
</GradleProjectSettings>
</option>
</component>

View File

@@ -2,8 +2,8 @@
<LinearLayout 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:layout_width="@dimen/module_och_bus_panel_width"
android:layout_height="@dimen/module_och_bus_panel_height"
android:layout_width="@dimen/module_mogo_och_autopilot_order_bg_width"
android:layout_height="@dimen/module_mogo_och_autopilot_order_bg_height"
android:background="@drawable/module_och_bus_panel_bkg"
android:orientation="vertical">
@@ -12,16 +12,16 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginTop="16px"
android:layout_marginRight="16px"
android:layout_marginTop="@dimen/module_mogo_och_autopilot_order_tag_m_t"
android:layout_marginRight="@dimen/module_mogo_och_autopilot_order_tag_m_r"
android:background="@drawable/module_och_bus_panel_anchor_bkg"
android:paddingLeft="8px"
android:paddingTop="1px"
android:paddingRight="8px"
android:paddingBottom="1px"
android:paddingLeft="@dimen/module_mogo_och_autopilot_order_tag_p_r"
android:paddingTop="2px"
android:paddingRight="@dimen/module_mogo_och_autopilot_order_tag_p_r"
android:paddingBottom="2px"
android:text="小巴车"
android:textColor="#FFF"
android:textSize="16px"
android:textSize="@dimen/module_mogo_och_autopilot_order_tag_height"
android:textStyle="bold" />
<androidx.constraintlayout.widget.ConstraintLayout
@@ -40,7 +40,7 @@
android:layout_marginLeft="14px"
android:text="当前站点:"
android:textColor="#8E9DD4"
android:textSize="20px"
android:textSize="@dimen/module_och_bus_order_start_station_anchor_textSize"
android:textStyle="bold"
app:layout_constraintLeft_toRightOf="@+id/greenDot"
app:layout_constraintTop_toTopOf="parent" />
@@ -50,8 +50,9 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6px"
android:text="--"
android:textColor="#FFF"
android:textSize="26px"
android:textSize="@dimen/module_mogo_och_bus_station_name_text_size"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="@+id/module_och_bus_current_station_anchor"
app:layout_constraintTop_toBottomOf="@+id/module_och_bus_current_station_anchor"
@@ -63,7 +64,7 @@
android:layout_height="wrap_content"
android:text="始"
android:textColor="#8E9DD4"
android:textSize="20px"
android:textSize="@dimen/module_mogo_och_bus_station_notice_text_size"
android:textStyle="bold"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="@+id/module_och_bus_current_station"
@@ -75,10 +76,10 @@
android:id="@+id/module_och_bus_next_station_anchor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="27px"
android:layout_marginTop="@dimen/module_och_bus_order_distance_anchor_marginTop"
android:text="下一站:"
android:textColor="#8E9DD4"
android:textSize="20px"
android:textSize="@dimen/module_och_bus_order_start_station_anchor_textSize"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="@+id/module_och_bus_current_station"
app:layout_constraintTop_toBottomOf="@+id/module_och_bus_current_station" />
@@ -87,8 +88,9 @@
android:id="@+id/module_och_bus_order_end_station"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="--"
android:textColor="#FFF"
android:textSize="@dimen/module_och_bus_order_start_station_textSize"
android:textSize="@dimen/module_mogo_och_bus_station_name_text_size"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="@+id/module_och_bus_next_station_anchor"
app:layout_constraintTop_toBottomOf="@+id/module_och_bus_next_station_anchor"
@@ -100,7 +102,7 @@
android:layout_height="wrap_content"
android:text="终"
android:textColor="#8E9DD4"
android:textSize="20px"
android:textSize="@dimen/module_mogo_och_bus_station_notice_text_size"
android:textStyle="bold"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="@+id/module_och_bus_order_end_station"
@@ -121,13 +123,14 @@
<ImageView
android:id="@+id/dotLine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="0dp"
android:scaleType="fitXY"
android:src="@drawable/module_och_bus_dot_line"
app:layout_constraintBottom_toTopOf="@+id/blueDot"
app:layout_constraintLeft_toLeftOf="@+id/greenDot"
app:layout_constraintRight_toRightOf="@+id/greenDot"
app:layout_constraintTop_toBottomOf="@+id/greenDot" />
<ImageView
android:id="@+id/blueDot"
android:layout_width="wrap_content"
@@ -137,7 +140,6 @@
app:layout_constraintLeft_toLeftOf="@+id/greenDot"
app:layout_constraintTop_toTopOf="@+id/module_och_bus_order_end_station" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>

View File

@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- 本套资源适配分体机xhdpi -->
<dimen name="module_mogo_och_bus_station_panel_width">300px</dimen>
<dimen name="module_mogo_och_bus_station_panel_height">348px</dimen>
<dimen name="module_mogo_och_bus_two_station_panel_height">211px</dimen>
<dimen name="module_mogo_och_bus_three_station_panel_height">276px</dimen>
<dimen name="module_mogo_och_bus_station_list_height">220px</dimen>
<dimen name="module_mogo_och_bus_two_station_list_height">98px</dimen>
<dimen name="module_mogo_och_bus_three_station_list_height">159px</dimen>
<dimen name="module_mogo_och_bus_current_station_name_text_size">32px</dimen>
<dimen name="module_mogo_och_bus_current_station_notice_text_size">20px</dimen>
<dimen name="module_mogo_och_bus_station_name_text_size">42px</dimen>
<dimen name="module_mogo_och_bus_station_notice_text_size">32px</dimen>
<dimen name="module_mogo_och_bus_station_name_margin_left">15px</dimen>
<dimen name="module_mogo_och_bus_station_panel_padding_top">20px</dimen>
<dimen name="module_mogo_och_bus_station_panel_padding_left">36px</dimen>
<dimen name="module_mogo_och_bus_station_panel_padding_bottom">28px</dimen>
<dimen name="module_mogo_och_bus_station_panel_padding_right">36px</dimen>
<dimen name="module_mogo_och_bus_station_panel_guide_offset_left">3px</dimen>
<dimen name="module_mogo_och_bus_station_panel_guide_offset_right">3px</dimen>
<dimen name="module_mogo_och_bus_station_panel_guide_offset_top">17px</dimen>
<dimen name="module_mogo_och_bus_station_panel_guide_offset_bottom">17px</dimen>
<dimen name="module_och_bus_panel_width">300px</dimen>
<dimen name="module_och_bus_panel_height">270px</dimen>
<dimen name="module_och_bus_order_status_marginLeft">30px</dimen>
<dimen name="module_och_bus_order_status_marginTop">24px</dimen>
<dimen name="module_och_bus_order_status_textSize">24px</dimen>
<dimen name="module_och_bus_order_status_divider_height">1px</dimen>
<dimen name="module_och_bus_order_status_divider_marginLeft">30px</dimen>
<dimen name="module_och_bus_order_status_divider_marginTop">23px</dimen>
<dimen name="module_och_bus_order_status_divider_marginRight">30px</dimen>
<dimen name="module_och_bus_order_status_stationInfo_height">146px</dimen>
<dimen name="module_och_bus_order_status_stationInfo_paddingLeft">20px</dimen>
<dimen name="module_och_bus_order_status_stationInfo_paddingTop">23px</dimen>
<dimen name="module_och_bus_order_status_stationInfo_paddingRight">30px</dimen>
<dimen name="module_och_bus_order_status_stationInfo_paddingBottom">23px</dimen>
<dimen name="module_och_bus_order_start_station_textSize">26px</dimen>
<dimen name="module_och_bus_order_start_station_anchor_textSize">32px</dimen>
<dimen name="module_och_bus_order_end_station_anchor_textSize">20px</dimen>
<dimen name="module_och_bus_order_distance_container_height">80px</dimen>
<dimen name="module_och_bus_order_distance_container_marginLeft">3px</dimen>
<dimen name="module_och_bus_order_distance_anchor_marginTop">44.5px</dimen>
<dimen name="module_och_bus_order_distance_anchor_textSize">20px</dimen>
<dimen name="module_och_bus_order_distance_textSize">28px</dimen>
<dimen name="module_och_bus_order_distance_marginRight">27px</dimen>
<dimen name="module_mogo_och_autopilot_order_tag_height">25.6px</dimen>
<dimen name="module_mogo_och_autopilot_order_tag_m_t">20px</dimen>
<dimen name="module_mogo_och_autopilot_order_tag_m_r">20px</dimen>
<dimen name="module_mogo_och_autopilot_order_tag_p_r">16px</dimen>
<dimen name="module_mogo_och_autopilot_order_tag_p_l">16px</dimen>
</resources>

View File

@@ -48,10 +48,16 @@
<dimen name="module_och_bus_order_end_station_anchor_textSize">20px</dimen>
<dimen name="module_och_bus_order_distance_container_height">80px</dimen>
<dimen name="module_och_bus_order_distance_container_marginLeft">3px</dimen>
<dimen name="module_och_bus_order_distance_anchor_marginLeft">27px</dimen>
<dimen name="module_och_bus_order_distance_anchor_marginTop">27px</dimen>
<dimen name="module_och_bus_order_distance_anchor_textSize">20px</dimen>
<dimen name="module_och_bus_order_distance_textSize">28px</dimen>
<dimen name="module_och_bus_order_distance_marginRight">27px</dimen>
<dimen name="module_mogo_och_autopilot_order_tag_height">16px</dimen>
<dimen name="module_mogo_och_autopilot_order_tag_m_t">16px</dimen>
<dimen name="module_mogo_och_autopilot_order_tag_m_r">16px</dimen>
<dimen name="module_mogo_och_autopilot_order_tag_p_r">16px</dimen>
<dimen name="module_mogo_och_autopilot_order_tag_p_l">16px</dimen>
</resources>

View File

@@ -1,39 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<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:layout_width="300px"
android:layout_height="270px"
android:layout_width="@dimen/module_mogo_och_autopilot_order_bg_width"
android:layout_height="@dimen/module_mogo_och_autopilot_order_bg_height"
android:orientation="vertical">
<TextView
android:id="@+id/module_och_taxi_order_status"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/module_och_taxi_order_status_marginLeft"
android:layout_marginTop="@dimen/module_och_taxi_order_status_marginTop"
android:text="@string/module_och_taxi_order_status_ph_text"
android:textColor="@color/module_och_order_status_textColor"
android:textSize="@dimen/module_och_taxi_order_status_textSize"
android:textStyle="bold" />
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/module_och_taxi_order_status_divider"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="@dimen/module_och_taxi_order_status_divider_height"
android:layout_marginLeft="@dimen/module_och_taxi_order_status_divider_marginLeft"
android:layout_marginTop="@dimen/module_och_taxi_order_status_divider_marginTop"
android:layout_marginRight="@dimen/module_och_taxi_order_status_divider_marginRight"
android:background="@color/module_och_taxi_order_status_divider_bkgColor" />
android:background="@color/module_och_taxi_order_status_divider_bkgColor"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/module_och_taxi_order_status" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/module_och_taxi_order_status_stationInfo"
android:layout_width="match_parent"
android:layout_height="@dimen/module_och_taxi_order_status_stationInfo_height"
android:layout_height="0dp"
android:paddingLeft="@dimen/module_och_taxi_order_status_stationInfo_paddingLeft"
android:paddingTop="@dimen/module_och_taxi_order_status_stationInfo_paddingTop"
android:paddingRight="@dimen/module_och_taxi_order_status_stationInfo_paddingRight"
android:paddingBottom="@dimen/module_och_taxi_order_status_stationInfo_paddingBottom">
android:paddingBottom="@dimen/module_och_taxi_order_status_stationInfo_paddingBottom"
app:layout_constraintBottom_toTopOf="@+id/module_och_taxi_order_distance_container"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/module_och_taxi_order_status_divider">
<ImageView
android:id="@+id/greenDot"
@@ -48,7 +58,7 @@
android:id="@+id/module_och_taxi_order_start_station"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5px"
android:layout_marginLeft="@dimen/module_och_taxi_order_start_station_marginLeft"
android:textColor="@color/module_och_order_status_textColor"
android:textSize="@dimen/module_och_taxi_order_start_station_textSize"
android:textStyle="bold"
@@ -72,10 +82,11 @@
android:id="@+id/dotLine"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:scaleType="fitXY"
android:src="@drawable/module_och_taxi_dot_line"
app:layout_constraintBottom_toTopOf="@+id/blueDot"
app:layout_constraintLeft_toLeftOf="@+id/greenDot"
app:layout_constraintRight_toRightOf="@+id/greenDot"
app:layout_constraintBottom_toTopOf="@+id/blueDot"
app:layout_constraintTop_toBottomOf="@+id/greenDot" />
<ImageView
@@ -118,7 +129,10 @@
android:id="@+id/module_och_taxi_order_distance_container"
android:layout_width="match_parent"
android:layout_height="@dimen/module_och_taxi_order_distance_container_height"
android:background="@drawable/module_och_taxi_panel_distance_bkg">
android:background="@drawable/module_och_taxi_panel_distance_bkg"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">
<TextView
android:id="@+id/module_och_taxi_order_distance_anchor"
@@ -146,4 +160,4 @@
app:layout_constraintLeft_toRightOf="@+id/greenDot" />
</FrameLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -2,8 +2,9 @@
<resources>
<dimen name="module_och_taxi_panel_width">464px</dimen>
<dimen name="module_och_taxi_panel_height">310px</dimen>
<dimen name="module_och_taxi_order_status_marginLeft">20px</dimen>
<dimen name="module_och_taxi_order_status_marginTop">20px</dimen>
<dimen name="module_och_taxi_order_start_station_marginLeft">15px</dimen>
<dimen name="module_och_taxi_order_status_marginLeft">25px</dimen>
<dimen name="module_och_taxi_order_status_marginTop">25px</dimen>
<dimen name="module_och_taxi_order_status_textSize">20px</dimen>
<dimen name="module_och_taxi_order_status_divider_height">1px</dimen>
<dimen name="module_och_taxi_order_status_divider_marginLeft">20px</dimen>
@@ -11,16 +12,16 @@
<dimen name="module_och_taxi_order_status_divider_marginRight">20px</dimen>
<dimen name="module_och_taxi_order_status_stationInfo_height">140px</dimen>
<dimen name="module_och_taxi_order_status_stationInfo_paddingLeft">20px</dimen>
<dimen name="module_och_taxi_order_status_stationInfo_paddingTop">20px</dimen>
<dimen name="module_och_taxi_order_status_stationInfo_paddingTop">41px</dimen>
<dimen name="module_och_taxi_order_status_stationInfo_paddingRight">17px</dimen>
<dimen name="module_och_taxi_order_status_stationInfo_paddingBottom">20px</dimen>
<dimen name="module_och_taxi_order_start_station_textSize">26px</dimen>
<dimen name="module_och_taxi_order_start_station_anchor_textSize">20px</dimen>
<dimen name="module_och_taxi_order_end_station_anchor_textSize">20px</dimen>
<dimen name="module_och_taxi_order_distance_container_height">64px</dimen>
<dimen name="module_och_taxi_order_status_stationInfo_paddingBottom">41px</dimen>
<dimen name="module_och_taxi_order_start_station_textSize">42px</dimen>
<dimen name="module_och_taxi_order_start_station_anchor_textSize">32px</dimen>
<dimen name="module_och_taxi_order_end_station_anchor_textSize">32px</dimen>
<dimen name="module_och_taxi_order_distance_container_height">84px</dimen>
<dimen name="module_och_taxi_order_distance_container_marginLeft">3px</dimen>
<dimen name="module_och_taxi_order_distance_anchor_marginLeft">20px</dimen>
<dimen name="module_och_taxi_order_distance_anchor_textSize">20px</dimen>
<dimen name="module_och_taxi_order_distance_textSize">24px</dimen>
<dimen name="module_och_taxi_order_distance_anchor_textSize">32px</dimen>
<dimen name="module_och_taxi_order_distance_textSize">36px</dimen>
<dimen name="module_och_taxi_order_distance_marginRight">17px</dimen>
</resources>

View File

@@ -2,6 +2,7 @@
<resources>
<dimen name="module_och_taxi_panel_width">464px</dimen>
<dimen name="module_och_taxi_panel_height">310px</dimen>
<dimen name="module_och_taxi_order_start_station_marginLeft">5px</dimen>
<dimen name="module_och_taxi_order_status_marginLeft">20px</dimen>
<dimen name="module_och_taxi_order_status_marginTop">20px</dimen>
<dimen name="module_och_taxi_order_status_textSize">20px</dimen>

View File

@@ -3,6 +3,7 @@ package com.mogo.och.view;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
@@ -41,6 +42,14 @@ public class SlidePanelView extends View {
public SlidePanelView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
TypedArray mTypedArray = context.obtainStyledAttributes(attrs, R.styleable.SlidePanelView);
textSize = (int) mTypedArray.getDimension(R.styleable.SlidePanelView_textSize, textSize);
BLOCK_START_X = (int) mTypedArray.getDimension(R.styleable.SlidePanelView_BLOCK_START_X, BLOCK_START_X);
BLOCK_START_Y = (int) mTypedArray.getDimension(R.styleable.SlidePanelView_BLOCK_START_Y, BLOCK_START_Y);
NORMAL_TEXT_MARGIN_LEFT = (int) mTypedArray.getDimension(R.styleable.SlidePanelView_NORMAL_TEXT_MARGIN_LEFT, NORMAL_TEXT_MARGIN_LEFT);
NORMAL_TEXT_MARGIN_RIGHT = (int) mTypedArray.getDimension(R.styleable.SlidePanelView_NORMAL_TEXT_MARGIN_RIGHT, NORMAL_TEXT_MARGIN_RIGHT);
SHORT_TEXT_MARGIN_LEFT = (int) mTypedArray.getDimension(R.styleable.SlidePanelView_SHORT_TEXT_MARGIN_LEFT, SHORT_TEXT_MARGIN_LEFT);
SHORT_TEXT_MARGIN_RIGHT = (int) mTypedArray.getDimension(R.styleable.SlidePanelView_SHORT_TEXT_MARGIN_RIGHT, SHORT_TEXT_MARGIN_RIGHT);
init();
}
@@ -48,12 +57,13 @@ public class SlidePanelView extends View {
private final Paint blockPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
private final Paint textPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
private static final int BLOCK_START_X = 15;
private static final int BLOCK_START_Y = 15;
private static final int NORMAL_TEXT_MARGIN_LEFT = 40;
private static final int NORMAL_TEXT_MARGIN_RIGHT = 50;
private static final int SHORT_TEXT_MARGIN_LEFT = 60;
private static final int SHORT_TEXT_MARGIN_RIGHT = 70;
private static int textSize = 40;
private static int BLOCK_START_X = 15;
private static int BLOCK_START_Y = 15;
private static int NORMAL_TEXT_MARGIN_LEFT = 40;
private static int NORMAL_TEXT_MARGIN_RIGHT = 60;
private static int SHORT_TEXT_MARGIN_LEFT = 60;
private static int SHORT_TEXT_MARGIN_RIGHT = 70;
private int textMarginLeft = NORMAL_TEXT_MARGIN_LEFT;
private int textMarginRight = NORMAL_TEXT_MARGIN_RIGHT;
@@ -107,7 +117,7 @@ public class SlidePanelView extends View {
bgPaint.setStyle(Paint.Style.FILL);
textPaint.setStyle(Paint.Style.FILL);
textPaint.setTextSize(40);
textPaint.setTextSize(textSize);
textPaint.setTextAlign(Paint.Align.LEFT);
textGradient = new LinearGradient(-GRADIENT_OFFSET, 0, 0, 0, new int[]{0x33ffffff, 0xffffffff, 0x33ffffff}, null, Shader.TileMode.CLAMP);
textGradient.setLocalMatrix(gradientMatrix);

View File

@@ -14,11 +14,11 @@
android:layout_marginTop="@dimen/module_mogo_och_station_panel_container_margin_top_no_call"
android:background="@drawable/module_mogo_och_autopilot_status_bg"
android:drawableLeft="@drawable/module_och_bus_ic_autopilot"
android:drawablePadding="@dimen/dp_30"
android:elevation="@dimen/dp_10"
android:gravity="center"
android:paddingLeft="35px"
android:gravity="center_vertical"
android:paddingLeft="@dimen/module_mogo_och_operation_status_padding"
android:text="自动驾驶"
android:textAlignment="center"
android:textColor="@color/module_mogo_och_autopilot_text_color_normal"
android:textSize="@dimen/module_mogo_och_autopilot_status_text_size"
android:textStyle="bold"
@@ -28,12 +28,11 @@
<FrameLayout
android:id="@+id/module_mogo_och_station_panel_container"
android:layout_width="300px"
android:layout_height="270px"
android:layout_marginTop="16px"
android:layout_width="@dimen/module_mogo_och_autopilot_order_bg_width"
android:layout_height="@dimen/module_mogo_och_autopilot_order_bg_height"
android:layout_marginTop="@dimen/module_mogo_och_autopilot_order_m_t"
android:background="@drawable/module_och_panel_bkg"
android:elevation="@dimen/dp_10"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="@+id/module_mogo_och_autopilot_status"
app:layout_constraintTop_toBottomOf="@id/module_mogo_och_autopilot_status"
app:layout_goneMarginTop="@dimen/module_mogo_och_station_panel_container_margin_top_no_call"
@@ -44,9 +43,9 @@
android:layout_width="@dimen/module_mogo_och_operation_status_bg_width"
android:layout_height="@dimen/module_mogo_och_operation_status_bg_height"
android:background="@drawable/module_mogo_och_operation_status_bg"
android:gravity="center"
android:elevation="@dimen/dp_10"
android:text="开启"
android:gravity="center"
android:text="出车"
android:textAlignment="center"
android:textColor="@color/module_mogo_och_autopilot_text_color_selector"
android:textSize="@dimen/module_mogo_och_autopilot_status_text_size"
@@ -59,9 +58,17 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
app:BLOCK_START_X="@dimen/module_mogo_och_slide_panel_block_start_x"
app:BLOCK_START_Y="@dimen/module_mogo_och_slide_panel_block_start_y"
app:NORMAL_TEXT_MARGIN_LEFT="@dimen/module_mogo_och_slide_panel_normal_text_margin_left"
app:NORMAL_TEXT_MARGIN_RIGHT="@dimen/module_mogo_och_slide_panel_normal_text_margin_right"
app:SHORT_TEXT_MARGIN_LEFT="@dimen/module_mogo_och_slide_panel_short_text_margin_left"
app:SHORT_TEXT_MARGIN_RIGHT="@dimen/module_mogo_och_slide_panel_short_text_margin_right"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
app:layout_constraintRight_toRightOf="parent"
app:textSize="@dimen/module_mogo_och_slide_panel_textSize"
tools:visibility="visible" />
<Button
android:id="@+id/btnAutopilotDisable"

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- 此资源适配分体机 xhdpi -->
<dimen name="module_mogo_och_margin_left">40px</dimen>
<dimen name="module_mogo_och_margin_right">40px</dimen>
<dimen name="module_mogo_och_margin_bottom">46px</dimen>
<dimen name="module_mogo_och_margin_top">24px</dimen>
<dimen name="module_mogo_och_station_panel_container_margin_top_no_call">530px</dimen>
<dimen name="module_mogo_och_station_panel_container_margin_top_with_call">492px</dimen>
<dimen name="module_mogo_och_slide_panel_block_start_x">30px</dimen>
<dimen name="module_mogo_och_slide_panel_block_start_y">30px</dimen>
<dimen name="module_mogo_och_slide_panel_normal_text_margin_left">70px</dimen>
<dimen name="module_mogo_och_slide_panel_normal_text_margin_right">130px</dimen>
<dimen name="module_mogo_och_slide_panel_short_text_margin_left">93px</dimen>
<dimen name="module_mogo_och_slide_panel_short_text_margin_right">150px</dimen>
<dimen name="module_mogo_och_slide_panel_textSize">48px</dimen>
<dimen name="module_mogo_och_autopilot_status_bg_corner">24px</dimen>
<dimen name="module_mogo_och_autopilot_status_bg_width">460px</dimen>
<dimen name="module_mogo_och_autopilot_status_bg_height">140px</dimen>
<dimen name="module_mogo_och_operation_status_bg_width">144px</dimen>
<dimen name="module_mogo_och_operation_status_bg_height">144px</dimen>
<dimen name="module_mogo_och_operation_status_padding">92px</dimen>
<dimen name="module_mogo_och_autopilot_order_m_t">30px</dimen>
<dimen name="module_mogo_och_autopilot_order_bg_width">466px</dimen>
<dimen name="module_mogo_och_autopilot_order_bg_height">414px</dimen>
<dimen name="module_mogo_och_autopilot_status_text_size">44px</dimen>
<dimen name="module_mogo_och_autopilot_status_text_padding_top">13px</dimen>
<dimen name="module_mogo_och_autopilot_status_text_drawable_padding">12px</dimen>
<dimen name="module_mogo_och_notice_text_max_width">460px</dimen>
<dimen name="module_mogo_och_notice_text_size">30px</dimen>
</resources>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="SlidePanelView">
<attr name="textSize" format="dimension" />
<attr name="NORMAL_TEXT_MARGIN_LEFT" format="dimension" />
<attr name="NORMAL_TEXT_MARGIN_RIGHT" format="dimension" />
<attr name="SHORT_TEXT_MARGIN_LEFT" format="dimension" />
<attr name="SHORT_TEXT_MARGIN_RIGHT" format="dimension" />
<attr name="BLOCK_START_X" format="dimension" />
<attr name="BLOCK_START_Y" format="dimension" />
</declare-styleable>
</resources>

View File

@@ -9,12 +9,27 @@
<dimen name="module_mogo_och_station_panel_container_margin_top_no_call">345px</dimen>
<dimen name="module_mogo_och_station_panel_container_margin_top_with_call">492px</dimen>
<dimen name="module_mogo_och_slide_panel_block_start_x">15px</dimen>
<dimen name="module_mogo_och_slide_panel_block_start_y">15px</dimen>
<dimen name="module_mogo_och_slide_panel_normal_text_margin_left">40px</dimen>
<dimen name="module_mogo_och_slide_panel_normal_text_margin_right">50px</dimen>
<dimen name="module_mogo_och_slide_panel_short_text_margin_left">50px</dimen>
<dimen name="module_mogo_och_slide_panel_short_text_margin_right">70px</dimen>
<dimen name="module_mogo_och_slide_panel_textSize">40px</dimen>
<dimen name="module_mogo_och_autopilot_status_bg_corner">24px</dimen>
<dimen name="module_mogo_och_autopilot_status_bg_width">300px</dimen>
<dimen name="module_mogo_och_autopilot_status_bg_height">100px</dimen>
<dimen name="module_mogo_och_operation_status_bg_width">108px</dimen>
<dimen name="module_mogo_och_operation_status_bg_height">108px</dimen>
<dimen name="module_mogo_och_operation_status_padding">35px</dimen>
<dimen name="module_mogo_och_autopilot_order_m_t">15px</dimen>
<dimen name="module_mogo_och_autopilot_order_bg_width">300px</dimen>
<dimen name="module_mogo_och_autopilot_order_bg_height">270px</dimen>
<dimen name="module_mogo_och_autopilot_status_text_size">30px</dimen>
<dimen name="module_mogo_och_autopilot_status_text_padding_top">13px</dimen>
<dimen name="module_mogo_och_autopilot_status_text_drawable_padding">12px</dimen>

View File

@@ -98,4 +98,14 @@ public class MogoMarkerManager implements IMogoMarkerManager {
public void removeRouteWayOverlay() {
// RouteOverlayHelper.getInstance().removeAll();
}
@Override
public void visibleAllMarkers() {
}
@Override
public void inVisibleAllMarkers() {
}
}

View File

@@ -46,6 +46,7 @@ import com.mogo.map.navi.MogoTraffic;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.map.uicontroller.VisualAngleMode;
import com.mogo.module.common.ModuleNames;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.dialog.WMDialog;
import com.mogo.module.common.glide.SkinAbleBitmapTarget;
@@ -180,6 +181,9 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
private boolean isShowGuide;
private ImageView mSwitchMapModeImage;
private FrameLayout mSwitchMapModeLayout;
/**
* 搜索莫模块
*/
@@ -205,7 +209,6 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
/**
* 内部变量标识是否在vrMode用于方法执行过滤避免重复或异常调用
*/
@@ -369,6 +372,11 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
tvYellow = (TextView) findViewById(R.id.tv_yellow);
tvRed = (TextView) findViewById(R.id.tv_red);
tvGreen = (TextView) findViewById(R.id.tv_green);
mSwitchMapModeLayout = (FrameLayout) findViewById(R.id.module_switch_model_layout);
mSwitchMapModeImage = (ImageView) findViewById(R.id.module_switch_model_icon);
mSwitchMapModeImage.setOnClickListener(clickListener);
}
private int debugPanelClickCount = 0;
@@ -400,6 +408,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
localIsVrMode = true;
flSpeed.setVisibility(View.VISIBLE);
mSwitchMapModeLayout.setVisibility(View.VISIBLE);
// clTrafficLight.setVisibility(View.VISIBLE);
}
}
@@ -427,6 +436,7 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
MogoApisHandler.getInstance().getApis().getRegisterCenterApi().unregisterMogoLocationListener(TAG);
localIsVrMode = false;
flSpeed.setVisibility(View.GONE);
mSwitchMapModeLayout.setVisibility(View.GONE);
clTrafficLight.setVisibility(View.GONE);
}
}
@@ -1085,7 +1095,13 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
@Override
public void onMapVisualAngleChanged(VisualAngleMode visualAngleMode) {
//todo visual
if (visualAngleMode.isMediumSight()) {
mSwitchMapModeLayout.setVisibility(View.VISIBLE);
} else if (visualAngleMode.isLongSight()) {
mSwitchMapModeLayout.setVisibility(View.VISIBLE);
} else if (visualAngleMode.isCloseSight()) {
mSwitchMapModeLayout.setVisibility(View.GONE);
}
}
private static final int SEEK_HELP_NOTICE_NUM_MSG_TYPE = 401015;
@@ -1329,11 +1345,22 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
// show panel
debugPanelGroup.setVisibility(View.VISIBLE);
}
}
} else if (v.getId() == R.id.module_switch_model_icon) { //切换地图的远近视图
if (MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().getCurrentMapVisualAngle().isLongSight()) {
MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager(AbsMogoApplication.getApp()).visibleAllMarkers();
MogoApisHandler.getInstance().getApis().getMapServiceApi()
.getMapUIController().changeMapVisualAngle(VisualAngleMode.MODE_MEDIUM_SIGHT);
} else if (MogoApisHandler.getInstance().getApis().getMapServiceApi().getMapUIController().getCurrentMapVisualAngle().isMediumSight()) {
MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager(AbsMogoApplication.getApp()).inVisibleAllMarkers();
MogoApisHandler.getInstance().getApis().getMapServiceApi()
.getMapUIController().changeMapVisualAngle(VisualAngleMode.MODE_LONG_SIGHT);
}
}
}
};
@Override
public void onCarLocationChanged2(Location location) {
vrModeNavInfoView.refreshCurrentSpeed((int) (location.getSpeed() * 3.6F));

View File

@@ -6,8 +6,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
layout="@layout/module_ext_layout_extensions"
android:layout_width="match_parent"
@@ -44,6 +42,28 @@
android:layout_width="@dimen/dp_200"
android:layout_height="@dimen/dp_200"
android:layout_gravity="center" />
</FrameLayout>
<!--切换地图远近事件-->
<FrameLayout
android:id="@+id/module_switch_model_layout"
android:layout_width="@dimen/dp_120"
android:layout_height="@dimen/dp_120"
android:layout_marginLeft="@dimen/dp_20"
android:layout_marginBottom="@dimen/dp_20"
android:elevation="@dimen/dp_10"
android:padding="@dimen/dp_20"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintBottom_toBottomOf="parent">
<ImageView
android:id="@+id/module_switch_model_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/module_ext_display_overview_icon_marginTop"
android:src="@drawable/model_ext_default_user_head" />
</FrameLayout>
<androidx.constraintlayout.widget.ConstraintLayout