[290 taxi司机端] 人机共驾UI

This commit is contained in:
wangmingjun
2022-07-22 14:20:48 +08:00
parent 2933349c1d
commit 6076346744
4 changed files with 109 additions and 174 deletions

View File

@@ -3,7 +3,6 @@ package com.mogo.och.taxi.ui;
import static com.mogo.och.taxi.constant.TaxiConst.TIMER_START_AUTOPILOT_INTERVAL;
import android.animation.ObjectAnimator;
import android.graphics.drawable.AnimationDrawable;
import android.os.Handler;
import android.os.Looper;
import android.view.LayoutInflater;
@@ -42,9 +41,12 @@ import com.mogo.map.listener.IMogoMapListener;
import com.mogo.map.uicontroller.VisualAngleMode;
import com.mogo.module.common.constants.DataTypes;
import com.mogo.module.common.view.OnPreventFastClickListener;
import com.mogo.och.common.module.utils.AnimatorDrawableUtil;
import com.mogo.och.taxi.R;
import com.mogo.och.taxi.constant.TaxiConst;
import java.util.Arrays;
import mogo.telematics.pad.MessagePad;
import record_cache.RecordPanelOuterClass;
@@ -59,7 +61,8 @@ import record_cache.RecordPanelOuterClass;
public abstract class BaseTaxiTabFragment<V extends IView, P extends Presenter<V>> extends MvpFragment<V, P> implements IMogoMapListener, IMoGoAutopilotRecordListener {
private static final String TAG = "BaseOchFragment";
private LinearLayout ctvAutopilotStatus;
private RelativeLayout ctvAutopilotStatusRL;
private ImageView mAnimFlowIv;
protected TextView tvOperationStatus;
protected TextView mDriverRole;
public boolean isOperationStatus;//false-收车true-出车
@@ -76,12 +79,67 @@ public abstract class BaseTaxiTabFragment<V extends IView, P extends Presenter<V
protected RelativeLayout mSettingBtn;
protected ImageView mBadcaseBtn;
protected ImageView mAICollectBtn;
protected ImageView mUpgradeTipIv;
protected TaxiNaviFragment ochNaviFragment = null;
// protected TaxiTrafficLightView mTrafficLightView;
private Handler mHandler = new Handler(Looper.getMainLooper());
private Integer[] startAutopilotDrawableIds = new Integer[]{
R.drawable.anim_flow_00000, R.drawable.anim_flow_00001, R.drawable.anim_flow_00002,
R.drawable.anim_flow_00003, R.drawable.anim_flow_00004, R.drawable.anim_flow_00005,
R.drawable.anim_flow_00006, R.drawable.anim_flow_00007, R.drawable.anim_flow_00008,
R.drawable.anim_flow_00009, R.drawable.anim_flow_00010, R.drawable.anim_flow_00011,
R.drawable.anim_flow_00012, R.drawable.anim_flow_00013,R.drawable.anim_flow_00014,
R.drawable.anim_flow_00015, R.drawable.anim_flow_00016, R.drawable.anim_flow_00017,
R.drawable.anim_flow_00018,R.drawable.anim_flow_00019, R.drawable.anim_flow_00020,
R.drawable.anim_flow_00021,R.drawable.anim_flow_00022,R.drawable.anim_flow_00023,
R.drawable.anim_flow_00024, R.drawable.anim_flow_00025,R.drawable.anim_flow_00026,
R.drawable.anim_flow_00027, R.drawable.anim_flow_00028, R.drawable.anim_flow_00029,
R.drawable.anim_flow_00030,R.drawable.anim_flow_00031, R.drawable.anim_flow_00032,
R.drawable.anim_flow_00033,R.drawable.anim_flow_00034,R.drawable.anim_flow_00035,
R.drawable.anim_flow_00036, R.drawable.anim_flow_00037,R.drawable.anim_flow_00038,
R.drawable.anim_flow_00039, R.drawable.anim_flow_00040, R.drawable.anim_flow_00041,
R.drawable.anim_flow_00042,R.drawable.anim_flow_00043, R.drawable.anim_flow_00044,
R.drawable.anim_flow_00045,R.drawable.anim_flow_00046,R.drawable.anim_flow_00047,
R.drawable.anim_flow_00048, R.drawable.anim_flow_00049,R.drawable.anim_flow_00050,
R.drawable.anim_flow_00051, R.drawable.anim_flow_00052, R.drawable.anim_flow_00053,
R.drawable.anim_flow_00054,R.drawable.anim_flow_00055, R.drawable.anim_flow_00056,
R.drawable.anim_flow_00057,R.drawable.anim_flow_00058,R.drawable.anim_flow_00059
};
private Integer[] startManCODrawableIds = new Integer[]{
R.drawable.anim_flow_man_co_00000, R.drawable.anim_flow_man_co_00001,
R.drawable.anim_flow_man_co_00002, R.drawable.anim_flow_man_co_00003,
R.drawable.anim_flow_man_co_00004, R.drawable.anim_flow_man_co_00005,
R.drawable.anim_flow_man_co_00006, R.drawable.anim_flow_man_co_00007,
R.drawable.anim_flow_man_co_00008, R.drawable.anim_flow_man_co_00009,
R.drawable.anim_flow_man_co_00010, R.drawable.anim_flow_man_co_00011,
R.drawable.anim_flow_man_co_00012, R.drawable.anim_flow_man_co_00013,
R.drawable.anim_flow_man_co_00014,R.drawable.anim_flow_man_co_00015,
R.drawable.anim_flow_man_co_00016, R.drawable.anim_flow_man_co_00017,
R.drawable.anim_flow_man_co_00018,R.drawable.anim_flow_man_co_00019,
R.drawable.anim_flow_man_co_00020, R.drawable.anim_flow_man_co_00021,
R.drawable.anim_flow_man_co_00022,R.drawable.anim_flow_man_co_00023,
R.drawable.anim_flow_man_co_00024, R.drawable.anim_flow_man_co_00025,
R.drawable.anim_flow_man_co_00026,R.drawable.anim_flow_man_co_00027,
R.drawable.anim_flow_man_co_00028, R.drawable.anim_flow_man_co_00029,
R.drawable.anim_flow_man_co_00030,R.drawable.anim_flow_man_co_00031,
R.drawable.anim_flow_man_co_00032, R.drawable.anim_flow_man_co_00033,
R.drawable.anim_flow_man_co_00034,R.drawable.anim_flow_man_co_00035,
R.drawable.anim_flow_man_co_00036, R.drawable.anim_flow_man_co_00037,
R.drawable.anim_flow_man_co_00038,R.drawable.anim_flow_man_co_00039,
R.drawable.anim_flow_man_co_00040, R.drawable.anim_flow_man_co_00041,
R.drawable.anim_flow_man_co_00042,R.drawable.anim_flow_man_co_00043,
R.drawable.anim_flow_man_co_00044, R.drawable.anim_flow_man_co_00045,
R.drawable.anim_flow_man_co_00046,R.drawable.anim_flow_man_co_00047,
R.drawable.anim_flow_man_co_00048, R.drawable.anim_flow_man_co_00049,
R.drawable.anim_flow_man_co_00050,R.drawable.anim_flow_man_co_00051,
R.drawable.anim_flow_man_co_00052, R.drawable.anim_flow_man_co_00053,
R.drawable.anim_flow_man_co_00054,R.drawable.anim_flow_man_co_00055,
R.drawable.anim_flow_man_co_00056, R.drawable.anim_flow_man_co_00057,
R.drawable.anim_flow_man_co_00058,R.drawable.anim_flow_man_co_00059
};
@Override
protected int getLayoutId() {
return R.layout.taxi_base_fragment;
@@ -92,10 +150,11 @@ public abstract class BaseTaxiTabFragment<V extends IView, P extends Presenter<V
@Override
protected void initViews() {
groupTestPanel = findViewById(R.id.groupTestPanel);
ctvAutopilotStatus = findViewById(R.id.module_mogo_och_autopilot_status);
ctvAutopilotStatus.setBackground(getResources().getDrawable(R.drawable.taxi_autopilot_bg_selector));
ctvAutopilotStatusRL = findViewById(R.id.module_mogo_och_autopilot_status);
ctvAutopilotStatusRL.setBackground(getResources().getDrawable(R.drawable.taxi_autopilot_bg_selector));
updateCtvAutopilotStatusTag(false);
mAutopilotImage = findViewById(R.id.module_och_autopilot_iv);
mAnimFlowIv = findViewById(R.id.anim_flow_iv);
mAutopilotTv = findViewById(R.id.module_och_autopilot_tv);
flStationPanelContainer = findViewById(R.id.module_mogo_och_station_panel_container);
@@ -171,14 +230,14 @@ public abstract class BaseTaxiTabFragment<V extends IView, P extends Presenter<V
}
panelView = LayoutInflater.from(getContext()).inflate(getStationPanelViewId(), flStationPanelContainer);
ctvAutopilotStatus.setOnClickListener(new OnPreventFastClickListener() {
ctvAutopilotStatusRL.setOnClickListener(new OnPreventFastClickListener() {
@Override
public void onClickImpl(View v) {
// 如果能自动驾驶,就自动驾驶,不能就提示
if (CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().getState() ==
IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE){
ToastUtils.showShort(getResources().getString(R.string.module_och_taxi_auto_disable_tip));
}else if (!(boolean)ctvAutopilotStatus.getTag()){
}else if (!(boolean)ctvAutopilotStatusRL.getTag()){
ToastUtils.showShort(getResources().getString(R.string.module_och_taxi_auto_disable_tip1));
}else {
restartAutopilot();
@@ -315,7 +374,7 @@ public abstract class BaseTaxiTabFragment<V extends IView, P extends Presenter<V
}
public void updateCtvAutopilotStatusTag(boolean tag){
ctvAutopilotStatus.setTag(tag);
ctvAutopilotStatusRL.setTag(tag);
}
public void onCheckPilotConditionSafe(boolean isSafe){
@@ -329,59 +388,52 @@ public abstract class BaseTaxiTabFragment<V extends IView, P extends Presenter<V
protected abstract void updateOrderUI();
private AnimationDrawable animationDrawable;
private AnimatorDrawableUtil animatorDrawableUtil = null;
public void autopilotStatusAnimchanged(int status) {
if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING == status) {
// ctvAutopilotStatus.setClickable(true);
mAutopilotTv.setText("自动驾驶");
mAutopilotTv.setTextColor(getResources().getColor(R.color.taxi_autopilot_text_color_normal));
mAutopilotImage.setImageResource(R.drawable.taxi_ic_autopilot);
if (animationDrawable == null) {
ctvAutopilotStatus.setBackground(getResources().getDrawable(R.drawable.anmi_flow));
animationDrawable = (AnimationDrawable) ctvAutopilotStatus.getBackground();
if (animatorDrawableUtil == null){
animatorDrawableUtil = new AnimatorDrawableUtil();
}
if (animationDrawable.isRunning()) {
return;
}
animationDrawable.selectDrawable(0);
animationDrawable.start();
animatorDrawableUtil.setAnimation(mAnimFlowIv, Arrays.asList(startAutopilotDrawableIds));
animatorDrawableUtil.start(true,100,null);
} else if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE == status) {
// ctvAutopilotStatus.setClickable(true);
mAutopilotTv.setText("自动驾驶");
mAutopilotTv.setTextColor(getResources().getColor(R.color.taxi_autopilot_text_color_normal));
mAutopilotImage.setImageResource(R.drawable.taxi_ic_autopilot);
if (animationDrawable != null) {
animationDrawable.selectDrawable(0);
animationDrawable.stop();
if (animatorDrawableUtil != null){
animatorDrawableUtil.stop();
mAnimFlowIv.setImageResource(0);
}
ctvAutopilotStatus.setBackground(getResources().getDrawable(R.drawable.taxi_autopilot_bg_selector));
animationDrawable = null;
ctvAutopilotStatusRL.setBackground(getResources().getDrawable(R.drawable.taxi_autopilot_bg_selector));
animatorDrawableUtil = null;
} else if (TaxiConst.MAN_MACHINE_CO_DRIVING == status){
mAutopilotTv.setText("远程代驾");
mAutopilotTv.setTextColor(getResources().getColor(R.color.taxi_autopilot_text_color_normal));
mAutopilotImage.setImageResource(R.drawable.taxi_ic_autopilot);
if (animationDrawable == null) {
ctvAutopilotStatus.setBackground(getResources().getDrawable(R.drawable.anmi_flow_man_co));
animationDrawable = (AnimationDrawable) ctvAutopilotStatus.getBackground();
if (animatorDrawableUtil == null){
animatorDrawableUtil = new AnimatorDrawableUtil();
}
if (animationDrawable.isRunning()) {
return;
}
animationDrawable.selectDrawable(0);
animationDrawable.start();
animatorDrawableUtil.setAnimation(mAnimFlowIv, Arrays.asList(startManCODrawableIds));
animatorDrawableUtil.start(true,100,null);
}else {
// ctvAutopilotStatus.setClickable(false);
mAutopilotTv.setText("自动驾驶");
mAutopilotTv.setTextColor(getResources().getColor(R.color.taxi_autopilot_text_color_disable));
mAutopilotImage.setImageResource(R.drawable.taxi_ic_autopilot_disable);
if (animationDrawable != null) {
animationDrawable.selectDrawable(0);
animationDrawable.stop();
if (animatorDrawableUtil != null){
animatorDrawableUtil.stop();
mAnimFlowIv.setImageResource(0);
}
ctvAutopilotStatus.setBackground(getResources().getDrawable(R.drawable.taxi_ic_autopilot_bg));
animationDrawable = null;
ctvAutopilotStatusRL.setBackground(getResources().getDrawable(R.drawable.taxi_ic_autopilot_bg));
animatorDrawableUtil = null;
}
}

View File

@@ -1,65 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/anim_flow_00000" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00001" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00002" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00003" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00004" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00005" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00006" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00007" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00008" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00009" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00010" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00011" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00012" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00013" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00014" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00015" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00016" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00017" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00018" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00019" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00020" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00021" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00022" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00023" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00024" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00025" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00026" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00027" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00028" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00029" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00030" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00031" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00032" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00033" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00034" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00035" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00036" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00037" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00038" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00039" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00040" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00041" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00042" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00043" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00044" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00045" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00046" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00047" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00048" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00049" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00050" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00051" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00052" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00053" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00054" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00055" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00056" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00057" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00058" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_00059" android:duration="100"></item>
</animation-list>

View File

@@ -1,59 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/anim_flow_man_co_00000" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00001" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00002" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00003" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00004" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00005" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00006" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00007" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00008" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00009" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00010" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00011" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00012" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00013" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00014" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00015" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00016" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00017" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00018" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00019" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00020" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00021" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00022" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00023" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00024" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00025" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00026" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00027" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00028" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00029" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00030" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00031" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00032" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00033" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00034" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00035" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00036" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00037" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00038" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00039" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00040" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00041" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00042" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00043" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00044" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00045" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00046" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00047" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00048" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00049" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00050" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00051" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00052" android:duration="100"></item>
<item android:drawable="@drawable/anim_flow_man_co_00053" android:duration="100"></item>
</animation-list>

View File

@@ -22,7 +22,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40px"
android:layout_marginTop="32px"
android:paddingTop="6px"
android:textColor="#FFFFFF"
android:id="@+id/module_mogo_och_speed_tv"
@@ -41,37 +41,44 @@
</LinearLayout>
<LinearLayout
<RelativeLayout
android:id="@+id/module_mogo_och_autopilot_status"
android:layout_width="@dimen/taxi_tab_autoaploit_width"
android:layout_height="@dimen/taxi_tab_autoaploit_height"
android:layout_marginTop="20px"
android:layout_marginLeft="220px"
android:background="@drawable/anmi_flow"
android:background="@drawable/taxi_autopilot_bg_selector"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:orientation="vertical" >
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/anim_flow_iv"
android:layout_width="@dimen/taxi_tab_autoaploit_width"
android:layout_height="@dimen/taxi_tab_autoaploit_height" />
<ImageView
android:id="@+id/module_och_autopilot_iv"
android:layout_marginTop="48px"
android:layout_marginTop="@dimen/dp_56"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_centerHorizontal="true"
android:src="@drawable/taxi_ic_autopilot"
/>
<TextView
android:id="@+id/module_och_autopilot_tv"
android:layout_width="match_parent"
android:layout_height="180px"
android:elevation="@dimen/dp_10"
android:layout_marginTop="16px"
android:elevation="@dimen/dp_12"
android:layout_marginTop="@dimen/dp_10"
android:gravity="center_horizontal"
android:text="开启自动驾驶"
android:textColor="@color/taxi_autopilot_text_color_normal"
android:textSize="32px"
android:layout_below="@+id/module_och_autopilot_iv"
tools:visibility="visible" />
</LinearLayout>
</RelativeLayout>
<FrameLayout
android:id="@+id/module_mogo_och_station_panel_container"
android:layout_width="wrap_content"
@@ -226,10 +233,10 @@
android:id="@+id/btnAutopilotmanco"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="模拟 自动驾驶Running"
android:text="模拟 人机共驾"
android:textSize="20sp"
android:visibility="gone"
app:layout_constraintRight_toRightOf="@id/btnAutopilotRunning"
app:layout_constraintRight_toRightOf="@id/btnAutopilotDisable"
app:layout_constraintTop_toBottomOf="@id/btnAutopilotRunning" />
<androidx.constraintlayout.widget.Group
@@ -237,7 +244,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
app:constraint_referenced_ids="btnAutopilotDisable,btnAutopilotEnable,btnAutopilotRunning"
app:constraint_referenced_ids="btnAutopilotDisable,btnAutopilotEnable,btnAutopilotRunning,btnAutopilotmanco"
tools:visibility="gone" />
<FrameLayout
android:id="@+id/module_mogo_och_navi_panel_container"