[6.5.1_exam]Taxi考试面板
This commit is contained in:
@@ -1,10 +1,19 @@
|
||||
package com.mogo.eagle.core.function.hmi.ui.vehicle
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.graphics.PixelFormat
|
||||
import android.util.AttributeSet
|
||||
import android.util.DisplayMetrics
|
||||
import android.util.Log
|
||||
import android.view.Gravity
|
||||
import android.view.LayoutInflater
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.WindowManager
|
||||
import android.widget.Button
|
||||
import android.widget.ToggleButton
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
|
||||
import com.mogo.eagle.core.data.msgbox.AutopilotMsg
|
||||
@@ -19,57 +28,97 @@ import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
|
||||
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager
|
||||
import com.mogo.eagle.core.function.call.setting.CallerTakeOverManager
|
||||
import com.mogo.eagle.core.function.hmi.R
|
||||
import com.mogo.eagle.core.utilcode.util.BarUtils
|
||||
import com.mogo.eagle.core.utilcode.util.SPUtils
|
||||
import com.mogo.eagle.core.utilcode.util.SoundUtils
|
||||
import kotlinx.android.synthetic.main.view_remote_take_over_autopilot.view.*
|
||||
import kotlinx.android.synthetic.main.view_sop_setting.view.*
|
||||
import kotlin.math.absoluteValue
|
||||
|
||||
class TakeOverAutopilotView @JvmOverloads constructor(
|
||||
context: Context, attrs: AttributeSet? = null
|
||||
) : ConstraintLayout(context, attrs) {
|
||||
class TakeOverAutopilotView constructor(activity: Activity):View.OnTouchListener {
|
||||
|
||||
private var takeOverRequest: Boolean = false
|
||||
private var mActivity: Activity = activity
|
||||
private lateinit var mFloatLayout: View
|
||||
private var mWindowParams: WindowManager.LayoutParams? = null
|
||||
private var mWindowManager: WindowManager? = null
|
||||
|
||||
private var mInViewX = 0f
|
||||
private var mInViewY = 0f
|
||||
private var mInScreenX = 0f
|
||||
private var mInScreenY = 0f
|
||||
|
||||
private lateinit var btnManualControl: Button
|
||||
private lateinit var btnOverTake: Button
|
||||
private lateinit var btnLineToLeft: Button
|
||||
private lateinit var btnLineToRight: Button
|
||||
private lateinit var btnPullOver: Button
|
||||
private lateinit var btnEmergencyStop: Button
|
||||
private lateinit var btnTakeOverRequest: Button
|
||||
private lateinit var btnTakeOverRecover: Button
|
||||
private lateinit var tbLaneChange: ToggleButton
|
||||
private lateinit var tbAeb: ToggleButton
|
||||
private lateinit var tbStopYield: ToggleButton
|
||||
private lateinit var tbMapSpeed: ToggleButton
|
||||
private lateinit var tbRamp: ToggleButton
|
||||
|
||||
|
||||
init {
|
||||
LayoutInflater.from(context).inflate(R.layout.view_remote_take_over_autopilot, this, true)
|
||||
initView()
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
mFloatLayout = LayoutInflater.from(mActivity).inflate(R.layout.view_remote_take_over_autopilot, null) as View
|
||||
mFloatLayout.setOnTouchListener(this)
|
||||
|
||||
btnManualControl = mFloatLayout.findViewById(R.id.btn_manual_control)
|
||||
btnOverTake = mFloatLayout.findViewById(R.id.btn_over_take)
|
||||
btnLineToLeft = mFloatLayout.findViewById(R.id.btn_line_to_left)
|
||||
btnLineToRight = mFloatLayout.findViewById(R.id.btn_line_to_right)
|
||||
btnPullOver = mFloatLayout.findViewById(R.id.btn_pull_over)
|
||||
btnEmergencyStop = mFloatLayout.findViewById(R.id.btn_emergency_stop)
|
||||
btnTakeOverRequest = mFloatLayout.findViewById(R.id.btn_take_over_request)
|
||||
btnTakeOverRecover = mFloatLayout.findViewById(R.id.btn_take_over_recover)
|
||||
tbLaneChange = mFloatLayout.findViewById(R.id.tb_lane_change)
|
||||
tbAeb = mFloatLayout.findViewById(R.id.tb_aeb)
|
||||
tbStopYield = mFloatLayout.findViewById(R.id.tb_stop_yield)
|
||||
tbMapSpeed = mFloatLayout.findViewById(R.id.tb_map_speed)
|
||||
tbRamp = mFloatLayout.findViewById(R.id.tb_ramp)
|
||||
|
||||
//人工接管
|
||||
btn_manual_control.setOnClickListener {
|
||||
btnManualControl.setOnClickListener {
|
||||
// 退出自驾
|
||||
CallerAutoPilotControlManager.cancelAutoPilot()
|
||||
// CallerDevaToolsManager.takeOver(MANUAL_CONTROL)
|
||||
}
|
||||
//超车
|
||||
btn_over_take.setOnClickListener {
|
||||
btnOverTake.setOnClickListener {
|
||||
// 超车
|
||||
CallerAutoPilotControlManager.sendPlanningLineChangeCmd(3)
|
||||
// CallerDevaToolsManager.takeOver(OVER_TAKE)
|
||||
}
|
||||
btn_line_to_left.setOnClickListener {
|
||||
btnLineToLeft.setOnClickListener {
|
||||
// 向左变道
|
||||
CallerAutoPilotControlManager.sendPlanningLineChangeCmd(1)
|
||||
// CallerDevaToolsManager.takeOver(LINE_TO_LEFT)
|
||||
}
|
||||
btn_line_to_right.setOnClickListener {
|
||||
btnLineToRight.setOnClickListener {
|
||||
// 向右变道
|
||||
CallerAutoPilotControlManager.sendPlanningLineChangeCmd(2)
|
||||
// CallerDevaToolsManager.takeOver(LINE_TO_RIGHT)
|
||||
}
|
||||
btn_pull_over.setOnClickListener {
|
||||
btnPullOver.setOnClickListener {
|
||||
// 靠边停车
|
||||
CallerAutoPilotControlManager.sendPlanningPullOverCmd(1)
|
||||
// CallerDevaToolsManager.takeOver(PULL_OVER)
|
||||
}
|
||||
btn_emergency_stop.setOnClickListener {
|
||||
btnEmergencyStop.setOnClickListener {
|
||||
// 紧急停车
|
||||
CallerAutoPilotControlManager.sendPlanningPullOverCmd(3)
|
||||
// CallerDevaToolsManager.takeOver(EMERGENCY_STOP)
|
||||
}
|
||||
//接管请求
|
||||
btn_take_over_request.setOnClickListener {
|
||||
btnTakeOverRequest.setOnClickListener {
|
||||
// takeOverRequest 执行时,避免多次提示
|
||||
if (takeOverRequest) {
|
||||
return@setOnClickListener
|
||||
@@ -103,16 +152,16 @@ class TakeOverAutopilotView @JvmOverloads constructor(
|
||||
}
|
||||
},expireTime =3000L, isFromObu = false
|
||||
)
|
||||
SoundUtils.playRing(context)
|
||||
SoundUtils.playRing(mActivity)
|
||||
}
|
||||
//恢复自动决策
|
||||
btn_take_over_recover.setOnClickListener {
|
||||
btnTakeOverRecover.setOnClickListener {
|
||||
CallerAutoPilotControlManager.sendPlanningLineChangeCmd(4)
|
||||
return@setOnClickListener
|
||||
}
|
||||
//AEB开关
|
||||
tb_aeb.isChecked = SPUtils.getInstance().getBoolean("aeb",false)
|
||||
tb_aeb.setOnCheckedChangeListener{ compoundButton, isChecked ->
|
||||
tbAeb.isChecked = SPUtils.getInstance().getBoolean("aeb",false)
|
||||
tbAeb.setOnCheckedChangeListener{ compoundButton, isChecked ->
|
||||
if(!compoundButton.isPressed){
|
||||
return@setOnCheckedChangeListener
|
||||
}
|
||||
@@ -120,8 +169,8 @@ class TakeOverAutopilotView @JvmOverloads constructor(
|
||||
SPUtils.getInstance().put("aeb",isChecked)
|
||||
}
|
||||
//绕障开关
|
||||
tb_lane_change.isChecked = SPUtils.getInstance().getBoolean("lane_change",false)
|
||||
tb_lane_change.setOnCheckedChangeListener{ compoundButton, isChecked ->
|
||||
tbLaneChange.isChecked = SPUtils.getInstance().getBoolean("lane_change",false)
|
||||
tbLaneChange.setOnCheckedChangeListener{ compoundButton, isChecked ->
|
||||
if(!compoundButton.isPressed){
|
||||
return@setOnCheckedChangeListener
|
||||
}
|
||||
@@ -129,8 +178,8 @@ class TakeOverAutopilotView @JvmOverloads constructor(
|
||||
SPUtils.getInstance().put("lane_change",isChecked)
|
||||
}
|
||||
//停车让行开关
|
||||
tb_stop_yield.isChecked = SPUtils.getInstance().getBoolean("stop_yield",false)
|
||||
tb_stop_yield.setOnCheckedChangeListener{ compoundButton, isChecked ->
|
||||
tbStopYield.isChecked = SPUtils.getInstance().getBoolean("stop_yield",false)
|
||||
tbStopYield.setOnCheckedChangeListener{ compoundButton, isChecked ->
|
||||
if(!compoundButton.isPressed){
|
||||
return@setOnCheckedChangeListener
|
||||
}
|
||||
@@ -138,8 +187,8 @@ class TakeOverAutopilotView @JvmOverloads constructor(
|
||||
SPUtils.getInstance().put("stop_yield",isChecked)
|
||||
}
|
||||
//地图限速开关
|
||||
tb_map_speed.isChecked = SPUtils.getInstance().getBoolean("map_speed",false)
|
||||
tb_map_speed.setOnCheckedChangeListener { compoundButton, isChecked ->
|
||||
tbMapSpeed.isChecked = SPUtils.getInstance().getBoolean("map_speed",false)
|
||||
tbMapSpeed.setOnCheckedChangeListener { compoundButton, isChecked ->
|
||||
if(!compoundButton.isPressed){
|
||||
return@setOnCheckedChangeListener
|
||||
}
|
||||
@@ -147,14 +196,70 @@ class TakeOverAutopilotView @JvmOverloads constructor(
|
||||
SPUtils.getInstance().put("map_speed",isChecked)
|
||||
}
|
||||
//环岛模式
|
||||
tb_ramp.isChecked = SPUtils.getInstance().getBoolean("ramp",false)
|
||||
tb_ramp.setOnCheckedChangeListener { compoundButton, isChecked ->
|
||||
tbRamp.isChecked = SPUtils.getInstance().getBoolean("ramp",false)
|
||||
tbRamp.setOnCheckedChangeListener { compoundButton, isChecked ->
|
||||
if(!compoundButton.isPressed){
|
||||
return@setOnCheckedChangeListener
|
||||
}
|
||||
CallerAutoPilotControlManager.sendRampThetaValid(isChecked)
|
||||
SPUtils.getInstance().put("ramp",isChecked)
|
||||
}
|
||||
|
||||
mWindowParams = WindowManager.LayoutParams()
|
||||
mWindowManager = mActivity.windowManager
|
||||
mWindowParams?.let {
|
||||
it.format = PixelFormat.RGBA_8888
|
||||
it.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
|
||||
it.gravity = Gravity.START or Gravity.TOP
|
||||
it.width = 700
|
||||
it.height = 900
|
||||
it.alpha = 1.0f
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
override fun onTouch(v: View?, motionEvent: MotionEvent?): Boolean {
|
||||
when (motionEvent?.action) {
|
||||
MotionEvent.ACTION_DOWN -> {
|
||||
// 获取相对View的坐标,即以此View左上角为原点
|
||||
mInViewX = motionEvent.x
|
||||
mInViewY = motionEvent.y
|
||||
// 获取相对屏幕的坐标,即以屏幕左上角为原点
|
||||
mInScreenX = motionEvent.rawX
|
||||
mInScreenY = motionEvent.rawY
|
||||
}
|
||||
MotionEvent.ACTION_MOVE -> {
|
||||
// 更新浮动窗口位置参数
|
||||
mInScreenX = motionEvent.rawX
|
||||
mInScreenY = motionEvent.rawY
|
||||
if(((mInScreenX - mInViewX)-mWindowParams!!.x).absoluteValue>150 || ((mInScreenY - mInViewY)-mWindowParams!!.y).absoluteValue>150){
|
||||
return true
|
||||
}
|
||||
mWindowParams!!.x = (mInScreenX - mInViewX).toInt()
|
||||
mWindowParams!!.y = (mInScreenY - mInViewY).toInt()
|
||||
// 手指移动的时候更新小悬浮窗的位置
|
||||
mWindowManager!!.updateViewLayout(mFloatLayout, mWindowParams)
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
fun showFloatWindow() {
|
||||
if (mFloatLayout.parent == null) {
|
||||
val metrics = DisplayMetrics()
|
||||
// 默认固定位置,靠屏幕右边缘的中间
|
||||
mWindowManager!!.defaultDisplay.getMetrics(metrics)
|
||||
mWindowParams!!.x = metrics.widthPixels
|
||||
mWindowParams!!.y = metrics.heightPixels - BarUtils.getStatusBarHeight()-1140
|
||||
mWindowManager!!.addView(mFloatLayout, mWindowParams)
|
||||
}
|
||||
}
|
||||
|
||||
fun hideFloatWindow() {
|
||||
if (mFloatLayout.parent != null){
|
||||
mWindowManager!!.removeView(mFloatLayout)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/color_80FFFFFF"/>
|
||||
<corners android:radius="20px" />
|
||||
</shape>
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#FFFFFF"/>
|
||||
<corners android:radius="20px" />
|
||||
</shape>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/remote_take_over_item_press_bg" android:state_pressed="true"/>
|
||||
<item android:drawable="@drawable/remote_take_over_item_press_bg" android:state_checked="true"/>
|
||||
<item android:drawable="@drawable/remote_take_over_item_bg" android:state_pressed="false"/>
|
||||
<item android:drawable="@drawable/remote_take_over_item_bg" />
|
||||
</selector>
|
||||
@@ -52,14 +52,4 @@
|
||||
android:layout_margin="@dimen/dp_20"
|
||||
/>
|
||||
|
||||
|
||||
<com.mogo.eagle.core.function.hmi.ui.vehicle.TakeOverAutopilotView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/seatPressureSettingView"
|
||||
/>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -1,16 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="@dimen/dp_631"
|
||||
android:layout_height="@dimen/dp_1250"
|
||||
android:layout_width="@dimen/dp_700"
|
||||
android:layout_height="@dimen/dp_900"
|
||||
android:background="@drawable/bg_remote_take"
|
||||
>
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_manual_control"
|
||||
style="?android:attr/borderlessButtonStyle"
|
||||
android:layout_width="@dimen/dp_502"
|
||||
android:layout_height="@dimen/dp_94"
|
||||
android:layout_marginTop="@dimen/dp_80"
|
||||
android:layout_height="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:background="@drawable/remote_take_over_autopilot_bg"
|
||||
android:gravity="center"
|
||||
android:text="@string/hmi_take_over"
|
||||
@@ -23,8 +24,9 @@
|
||||
<Button
|
||||
android:id="@+id/btn_over_take"
|
||||
android:layout_width="@dimen/dp_147"
|
||||
android:layout_height="@dimen/dp_94"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:layout_height="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:background="@drawable/selector_take_over_item"
|
||||
android:gravity="center"
|
||||
android:text="@string/hmi_over_take"
|
||||
android:textColor="#FF181D6D"
|
||||
@@ -35,9 +37,10 @@
|
||||
<Button
|
||||
android:id="@+id/btn_line_to_left"
|
||||
android:layout_width="@dimen/dp_147"
|
||||
android:layout_height="@dimen/dp_94"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:layout_height="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:gravity="center"
|
||||
android:background="@drawable/selector_take_over_item"
|
||||
android:text="@string/hmi_line_to_left"
|
||||
android:textColor="#FF181D6D"
|
||||
android:textSize="@dimen/sp_30"
|
||||
@@ -48,9 +51,10 @@
|
||||
<Button
|
||||
android:id="@+id/btn_line_to_right"
|
||||
android:layout_width="@dimen/dp_147"
|
||||
android:layout_height="@dimen/dp_94"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:layout_height="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:gravity="center"
|
||||
android:background="@drawable/selector_take_over_item"
|
||||
android:text="@string/hmi_line_to_right"
|
||||
android:textColor="#FF181D6D"
|
||||
android:textSize="@dimen/sp_30"
|
||||
@@ -60,9 +64,10 @@
|
||||
<Button
|
||||
android:id="@+id/btn_pull_over"
|
||||
android:layout_width="@dimen/dp_147"
|
||||
android:layout_height="@dimen/dp_94"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:layout_height="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:gravity="center"
|
||||
android:background="@drawable/selector_take_over_item"
|
||||
android:text="@string/hmi_pull_over"
|
||||
android:textColor="#FF181D6D"
|
||||
android:textSize="@dimen/sp_30"
|
||||
@@ -72,9 +77,10 @@
|
||||
<Button
|
||||
android:id="@+id/btn_emergency_stop"
|
||||
android:layout_width="@dimen/dp_147"
|
||||
android:layout_height="@dimen/dp_94"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:layout_height="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:gravity="center"
|
||||
android:background="@drawable/selector_take_over_item"
|
||||
android:text="@string/hmi_emergency_stop"
|
||||
android:textColor="#FF181D6D"
|
||||
android:textSize="@dimen/sp_30"
|
||||
@@ -85,9 +91,10 @@
|
||||
<Button
|
||||
android:id="@+id/btn_take_over_request"
|
||||
android:layout_width="@dimen/dp_147"
|
||||
android:layout_height="@dimen/dp_94"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:layout_height="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:gravity="center"
|
||||
android:background="@drawable/selector_take_over_item"
|
||||
android:text="@string/hmi_take_over_request"
|
||||
android:textColor="#FF181D6D"
|
||||
android:textSize="@dimen/sp_30"
|
||||
@@ -96,11 +103,11 @@
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_take_over_recover"
|
||||
style="?android:attr/borderlessButtonStyle"
|
||||
android:layout_width="@dimen/dp_147"
|
||||
android:layout_height="@dimen/dp_94"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:layout_width="@dimen/dp_230"
|
||||
android:layout_height="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:gravity="center"
|
||||
android:background="@drawable/selector_take_over_item"
|
||||
android:text="@string/hmi_take_over_recover"
|
||||
android:textColor="#FF181D6D"
|
||||
android:textSize="@dimen/sp_30"
|
||||
@@ -111,12 +118,13 @@
|
||||
|
||||
<ToggleButton
|
||||
android:id="@+id/tb_lane_change"
|
||||
android:layout_width="@dimen/dp_147"
|
||||
android:layout_height="@dimen/dp_94"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:layout_width="@dimen/dp_230"
|
||||
android:layout_height="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
app:layout_constraintTop_toBottomOf="@id/btn_emergency_stop"
|
||||
app:layout_constraintLeft_toRightOf="@id/btn_take_over_recover"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:background="@drawable/selector_take_over_item"
|
||||
android:textOff="@string/hmi_open_lane_change"
|
||||
android:textOn="@string/hmi_close_lane_change"
|
||||
android:textColor="#FF181D6D"
|
||||
@@ -126,12 +134,13 @@
|
||||
|
||||
<ToggleButton
|
||||
android:id="@+id/tb_aeb"
|
||||
android:layout_width="@dimen/dp_147"
|
||||
android:layout_height="@dimen/dp_94"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:layout_width="@dimen/dp_230"
|
||||
android:layout_height="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
app:layout_constraintTop_toBottomOf="@id/tb_lane_change"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toLeftOf="@id/tb_stop_yield"
|
||||
android:background="@drawable/selector_take_over_item"
|
||||
android:textOff="@string/hmi_open_aeb"
|
||||
android:textOn="@string/hmi_close_aeb"
|
||||
android:textColor="#FF181D6D"
|
||||
@@ -141,12 +150,13 @@
|
||||
|
||||
<ToggleButton
|
||||
android:id="@+id/tb_stop_yield"
|
||||
android:layout_width="@dimen/dp_147"
|
||||
android:layout_height="@dimen/dp_94"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:layout_width="@dimen/dp_230"
|
||||
android:layout_height="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
app:layout_constraintTop_toBottomOf="@id/tb_lane_change"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@id/tb_aeb"
|
||||
android:background="@drawable/selector_take_over_item"
|
||||
android:textOff="@string/hmi_open_stop_yield"
|
||||
android:textOn="@string/hmi_close_stop_yield"
|
||||
android:textColor="#FF181D6D"
|
||||
@@ -156,12 +166,13 @@
|
||||
|
||||
<ToggleButton
|
||||
android:id="@+id/tb_map_speed"
|
||||
android:layout_width="@dimen/dp_147"
|
||||
android:layout_height="@dimen/dp_94"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:layout_width="@dimen/dp_230"
|
||||
android:layout_height="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
app:layout_constraintTop_toBottomOf="@id/tb_aeb"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toLeftOf="@id/tb_ramp"
|
||||
android:background="@drawable/selector_take_over_item"
|
||||
android:textOff="@string/hmi_open_map_speed"
|
||||
android:textOn="@string/hmi_close_map_speed"
|
||||
android:textColor="#FF181D6D"
|
||||
@@ -171,12 +182,13 @@
|
||||
|
||||
<ToggleButton
|
||||
android:id="@+id/tb_ramp"
|
||||
android:layout_width="@dimen/dp_147"
|
||||
android:layout_height="@dimen/dp_94"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:layout_width="@dimen/dp_230"
|
||||
android:layout_height="@dimen/dp_90"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
app:layout_constraintTop_toBottomOf="@id/tb_aeb"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@id/tb_map_speed"
|
||||
android:background="@drawable/selector_take_over_item"
|
||||
android:textOff="@string/hmi_open_ramp"
|
||||
android:textOn="@string/hmi_close_ramp"
|
||||
android:textColor="#FF181D6D"
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<color name="foreground_debug">#FF333333</color>
|
||||
<color name="foreground_info">#FF333333</color>
|
||||
<color name="foreground_warn">#FFCCCCCC</color>
|
||||
|
||||
<color name="color_80FFFFFF">#80FFFFFF</color>
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user