[6.4.0][启自驾指引] 适配ui
This commit is contained in:
@@ -74,7 +74,7 @@ public abstract class BaseBusTabFragment<V extends IView, P extends Presenter<V>
|
||||
private FrameLayout flStationPanelContainer;
|
||||
private BizMapView mapBizView;
|
||||
private Group groupTestPanel;
|
||||
private TrafficDataView mTrafficDataView;
|
||||
// private TrafficDataView mTrafficDataView;
|
||||
// private BusTrafficLightView mTrafficLightView;
|
||||
|
||||
//远景和中景的切换
|
||||
@@ -526,15 +526,15 @@ public abstract class BaseBusTabFragment<V extends IView, P extends Presenter<V>
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 迈速表实时更新
|
||||
*/
|
||||
public void updateSpeedView(float newSpeed) {
|
||||
int speed = (int) (Math.abs(newSpeed) * 3.6F); // 倒车时工控机反馈定位信息中speed为负值
|
||||
if (mTrafficDataView != null) {
|
||||
mTrafficDataView.updateSpeedWithValue(speed);
|
||||
}
|
||||
}
|
||||
// /**
|
||||
// * 迈速表实时更新
|
||||
// */
|
||||
// public void updateSpeedView(float newSpeed) {
|
||||
// int speed = (int) (Math.abs(newSpeed) * 3.6F); // 倒车时工控机反馈定位信息中speed为负值
|
||||
// if (mTrafficDataView != null) {
|
||||
// mTrafficDataView.updateSpeedWithValue(speed);
|
||||
// }
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
|
||||
@@ -201,9 +201,9 @@ public class BusPresenter extends Presenter<BusFragment>
|
||||
|
||||
@Override
|
||||
public void onCarLocationChanged(MogoLocation location) {
|
||||
if (null != location) {
|
||||
runOnUIThread(() -> mView.updateSpeedView((float) location.getGnssSpeed()));
|
||||
}
|
||||
// if (null != location) {
|
||||
// runOnUIThread(() -> mView.updateSpeedView((float) location.getGnssSpeed()));
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -37,12 +37,9 @@
|
||||
<!-- </FrameLayout>-->
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_speed"
|
||||
android:layout_width="@dimen/dp_560"
|
||||
android:layout_height="@dimen/dp_200"
|
||||
android:layout_marginLeft="@dimen/dp_39"
|
||||
android:layout_marginTop="@dimen/dp_36"
|
||||
android:elevation="@dimen/dp_10"
|
||||
android:visibility="visible"
|
||||
android:layout_width="@dimen/dp_624"
|
||||
android:layout_height="@dimen/dp_269"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
package com.magic.mogo.och.charter.base
|
||||
|
||||
import android.animation.ObjectAnimator
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.animation.LinearInterpolator
|
||||
import android.widget.*
|
||||
import android.widget.FrameLayout
|
||||
import android.widget.ImageView
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.RelativeLayout
|
||||
import android.widget.TextView
|
||||
import androidx.constraintlayout.widget.Group
|
||||
import com.magic.mogo.och.charter.R
|
||||
import com.magic.mogo.och.charter.constant.CharterConst
|
||||
import com.magic.mogo.och.charter.view.SlidePanelView
|
||||
import com.magic.mogo.och.charter.view.autopilot.AutopilotStatusView
|
||||
import com.mogo.commons.mvp.IView
|
||||
@@ -18,8 +19,8 @@ import com.mogo.commons.mvp.MvpFragment
|
||||
import com.mogo.commons.mvp.Presenter
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotRecordListener
|
||||
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager.getState
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListenerManager
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager.attachAutopilotBeforeLaunchView
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager.initAiCollect
|
||||
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager.initBadCase
|
||||
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager.showToolsView
|
||||
@@ -27,20 +28,16 @@ import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxBubbleView
|
||||
import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxButtonView
|
||||
import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxButtonView.ClickListener
|
||||
import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxListView
|
||||
import com.mogo.eagle.core.function.hmi.ui.widget.TrafficDataView
|
||||
import com.mogo.eagle.core.function.smp.view.SmallMapView
|
||||
import com.mogo.eagle.core.function.view.MapBizView
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener
|
||||
import com.mogo.eagle.core.utilcode.util.ResourceUtils.getDrawable
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.map.listener.IMogoMapListener
|
||||
import com.mogo.map.listener.MogoMapListenerHandler.Companion.mogoMapListenerHandler
|
||||
import com.mogo.map.uicontroller.VisualAngleMode
|
||||
import com.mogo.och.common.module.utils.SoundPoolHelper
|
||||
import kotlinx.android.synthetic.main.charter_base_fragment.*
|
||||
import kotlinx.android.synthetic.main.charter_base_fragment.module_mogo_och_arrived_tv
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import kotlin.math.abs
|
||||
|
||||
/**
|
||||
* @author: wangmingjun
|
||||
@@ -92,6 +89,13 @@ abstract class CharterBaseFragment<V : IView?, P : Presenter<V>?>() :
|
||||
slidePanelView?.setText(resources.getString(R.string.charter_back_car))
|
||||
slidePanelView?.setOnSlidePanelMoveToEndListener(onSlideToEndListener)
|
||||
|
||||
|
||||
// mTrafficDataView = (TrafficDataView) findViewById(R.id.bus_arc);
|
||||
val flSpeed = findViewById<FrameLayout>(R.id.fl_speed)
|
||||
if (flSpeed != null) {
|
||||
attachAutopilotBeforeLaunchView(flSpeed.context, flSpeed)
|
||||
}
|
||||
|
||||
LayoutInflater.from(context).inflate(getStationPanelViewId(), flStationPanelContainer)
|
||||
mSwitchMapModeLayout = findViewById(R.id.bus_switch_model_layout)
|
||||
mSwitchMapModeImage = findViewById(R.id.bus_switch_model_icon)
|
||||
|
||||
@@ -31,16 +31,12 @@
|
||||
<!--车速档位加速度-->
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_speed"
|
||||
android:layout_width="@dimen/dp_560"
|
||||
android:layout_height="@dimen/dp_200"
|
||||
android:layout_marginLeft="@dimen/dp_39"
|
||||
android:layout_marginTop="@dimen/dp_36"
|
||||
android:elevation="@dimen/dp_10"
|
||||
android:visibility="visible"
|
||||
android:layout_width="@dimen/dp_624"
|
||||
android:layout_height="@dimen/dp_269"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
|
||||
|
||||
<!--V2X预警红色边框-->
|
||||
<com.mogo.eagle.core.function.hmi.ui.widget.V2XWarningView
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/module_och_bus_order_status_stationInfo"
|
||||
android:layout_width="@dimen/dp_618"
|
||||
android:layout_width="@dimen/dp_624"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="@dimen/dp_754"
|
||||
android:background="@drawable/charter_line_panel_bg"
|
||||
|
||||
@@ -536,17 +536,17 @@ public abstract class BaseShuttleTabFragment<V extends IView, P extends Presente
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 迈速表实时更新
|
||||
*
|
||||
* @param newSpeed
|
||||
*/
|
||||
public void updateSpeedView(float newSpeed) {
|
||||
int speed = (int) (Math.abs(newSpeed) * 3.6F); // 倒车时工控机反馈定位信息中speed为负值
|
||||
if (mTrafficDataView != null) {
|
||||
mTrafficDataView.updateSpeedWithValue(speed);
|
||||
}
|
||||
}
|
||||
// /**
|
||||
// * 迈速表实时更新
|
||||
// *
|
||||
// * @param newSpeed
|
||||
// */
|
||||
// public void updateSpeedView(float newSpeed) {
|
||||
// int speed = (int) (Math.abs(newSpeed) * 3.6F); // 倒车时工控机反馈定位信息中speed为负值
|
||||
// if (mTrafficDataView != null) {
|
||||
// mTrafficDataView.updateSpeedWithValue(speed);
|
||||
// }
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
|
||||
@@ -195,9 +195,9 @@ public class BusPresenter extends Presenter<ShuttleFragment>
|
||||
|
||||
@Override
|
||||
public void onCarLocationChanged(MogoLocation location) {
|
||||
if (null != location) {
|
||||
runOnUIThread(() -> mView.updateSpeedView(location.getGnssSpeed()));
|
||||
}
|
||||
// if (null != location) {
|
||||
// runOnUIThread(() -> mView.updateSpeedView(location.getGnssSpeed()));
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -38,12 +38,9 @@
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_speed"
|
||||
android:layout_width="@dimen/dp_560"
|
||||
android:layout_height="@dimen/dp_200"
|
||||
android:layout_marginLeft="@dimen/dp_39"
|
||||
android:layout_marginTop="@dimen/dp_36"
|
||||
android:elevation="@dimen/dp_10"
|
||||
android:visibility="visible"
|
||||
android:layout_width="@dimen/dp_62"
|
||||
android:layout_height="@dimen/dp_269"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
|
||||
|
||||
@@ -23,13 +23,11 @@
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/taxi_speed_contain"
|
||||
android:layout_width="@dimen/dp_560"
|
||||
android:layout_height="@dimen/dp_200"
|
||||
android:layout_marginLeft="@dimen/dp_39"
|
||||
android:layout_marginTop="@dimen/dp_36"
|
||||
android:elevation="@dimen/dp_10"
|
||||
android:layout_width="@dimen/dp_624"
|
||||
android:layout_height="@dimen/dp_269"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/module_mogo_och_autopilot_status"
|
||||
|
||||
@@ -31,54 +31,16 @@
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/module_mogo_och_speed_layout"
|
||||
android:layout_width="@dimen/dp_560"
|
||||
android:layout_height="@dimen/dp_200"
|
||||
android:layout_marginLeft="@dimen/dp_39"
|
||||
android:layout_marginTop="@dimen/dp_36"
|
||||
android:elevation="@dimen/dp_10"
|
||||
android:visibility="visible"
|
||||
android:layout_width="@dimen/dp_624"
|
||||
android:layout_height="@dimen/dp_269"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@+id/module_mogo_och_autopilot_status"/>
|
||||
|
||||
<!--<LinearLayout
|
||||
android:id="@+id/module_mogo_och_speed_layout"
|
||||
android:layout_width="@dimen/taxi_tab_speed_width_height"
|
||||
android:layout_height="@dimen/taxi_tab_speed_width_height"
|
||||
android:layout_marginLeft="20dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:background="@drawable/taxi_speed_bg"
|
||||
android:elevation="@dimen/dp_10"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_mogo_och_speed_tv"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="32dp"
|
||||
android:paddingTop="6dp"
|
||||
android:text="0"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="74dp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="-10dp"
|
||||
android:text="KM/H"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="32dp" />
|
||||
|
||||
</LinearLayout>-->
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/module_mogo_och_autopilot_status"
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="@dimen/taxi_tab_autoaploit_height"
|
||||
android:layout_marginTop="20dp"
|
||||
android:background="@drawable/taxi_autopilot_bg_selector"
|
||||
app:layout_constraintLeft_toLeftOf="@+id/module_mogo_och_speed_layout"
|
||||
app:layout_constraintRight_toRightOf="@+id/module_mogo_och_speed_layout"
|
||||
|
||||
@@ -477,6 +477,7 @@ class DevaToolsProvider : IDevaToolsProvider {
|
||||
}
|
||||
|
||||
override fun attachAutopilotStatusView(ctx: Context, group: ViewGroup) {
|
||||
StatusManager.init(ctx)
|
||||
if (group.childCount > 0) {
|
||||
if (group.visibility != View.VISIBLE) {
|
||||
group.visibility = View.VISIBLE
|
||||
|
||||
@@ -310,6 +310,24 @@ data class SteerStatus(val angle: Float, var isError: Boolean = false): Status()
|
||||
override fun isException(): Boolean {
|
||||
return isError
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (this === other) return true
|
||||
if (javaClass != other?.javaClass) return false
|
||||
|
||||
other as SteerStatus
|
||||
|
||||
if (angle != other.angle) return false
|
||||
if (isError != other.isError) return false
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
var result = angle.hashCode()
|
||||
result = 31 * result + isError.hashCode()
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -320,6 +338,26 @@ data class AcceleratorStatus(val angle: Float, var isError: Boolean = false): St
|
||||
override fun isException(): Boolean {
|
||||
return isError
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (this === other) return true
|
||||
if (javaClass != other?.javaClass) return false
|
||||
|
||||
other as AcceleratorStatus
|
||||
|
||||
if (angle != other.angle) return false
|
||||
if (isError != other.isError) return false
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
var result = angle.hashCode()
|
||||
result = 31 * result + isError.hashCode()
|
||||
return result
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -330,6 +368,24 @@ data class BrakeStatus(val angle: Float, var isError: Boolean = false): Status()
|
||||
override fun isException(): Boolean {
|
||||
return isError
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (this === other) return true
|
||||
if (javaClass != other?.javaClass) return false
|
||||
|
||||
other as BrakeStatus
|
||||
|
||||
if (angle != other.angle) return false
|
||||
if (isError != other.isError) return false
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
var result = angle.hashCode()
|
||||
result = 31 * result + isError.hashCode()
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -341,6 +397,24 @@ data class DoubleFlashStatus(val type: Int, var isError: Boolean = false): Statu
|
||||
override fun isException(): Boolean {
|
||||
return isError
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (this === other) return true
|
||||
if (javaClass != other?.javaClass) return false
|
||||
|
||||
other as DoubleFlashStatus
|
||||
|
||||
if (type != other.type) return false
|
||||
if (isError != other.isError) return false
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
var result = type
|
||||
result = 31 * result + isError.hashCode()
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -351,6 +425,24 @@ data class GearStatus(val value: Int, var isError: Boolean = false): Status(), I
|
||||
override fun isException(): Boolean {
|
||||
return isError
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (this === other) return true
|
||||
if (javaClass != other?.javaClass) return false
|
||||
|
||||
other as GearStatus
|
||||
|
||||
if (value != other.value) return false
|
||||
if (isError != other.isError) return false
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
var result = value
|
||||
result = 31 * result + isError.hashCode()
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ import kotlinx.android.synthetic.main.layout_autopilot_launch_before.view.iv_dou
|
||||
import kotlinx.android.synthetic.main.layout_autopilot_launch_before.view.iv_steer
|
||||
import kotlinx.android.synthetic.main.layout_autopilot_launch_before.view.speed
|
||||
import kotlinx.android.synthetic.main.layout_autopilot_launch_before.view.tv_brake_or_accelerator
|
||||
import me.jessyan.autosize.utils.AutoSizeUtils
|
||||
|
||||
class AutoPilotLaunchBeforeView: LinearLayout, IStatusListener {
|
||||
|
||||
@@ -38,11 +39,12 @@ class AutoPilotLaunchBeforeView: LinearLayout, IStatusListener {
|
||||
private const val TAG = "AutoPilotLaunchBeforeView"
|
||||
}
|
||||
|
||||
constructor(context: Context?) : this(context, null)
|
||||
constructor(context: Context?, attrs: AttributeSet?) : this(context, attrs, 0)
|
||||
constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {
|
||||
constructor(context: Context) : this(context, null)
|
||||
constructor(context: Context, attrs: AttributeSet?) : this(context, attrs, 0)
|
||||
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {
|
||||
LayoutInflater.from(context).inflate(R.layout.layout_autopilot_launch_before, this, true)
|
||||
background = ContextCompat.getDrawable(context!!, R.drawable.bg_autopilot_launch_before)
|
||||
background = ContextCompat.getDrawable(context, R.drawable.icon_bg_autopilot_status)
|
||||
setPadding(AutoSizeUtils.dp2px(context, 27f), AutoSizeUtils.dp2px(context, 33f), AutoSizeUtils.dp2px(context, 30f), AutoSizeUtils.dp2px(context, 30f))
|
||||
}
|
||||
|
||||
|
||||
@@ -84,13 +86,13 @@ class AutoPilotLaunchBeforeView: LinearLayout, IStatusListener {
|
||||
val isError = status.isError
|
||||
val angle = status.angle
|
||||
iv_brake_or_accelerator?.isSelected = isError
|
||||
tv_brake_or_accelerator?.text = "a: $angle"
|
||||
tv_brake_or_accelerator?.text = "a:${angle.toInt()}"
|
||||
}
|
||||
is BrakeStatus -> {
|
||||
val isError = status.isError
|
||||
val angle = status.angle
|
||||
iv_brake_or_accelerator?.isSelected = isError
|
||||
tv_brake_or_accelerator?.text = "a: -$angle"
|
||||
tv_brake_or_accelerator?.text = "a:-${angle.toInt()}"
|
||||
}
|
||||
is DoubleFlashStatus -> {
|
||||
val isError = status.isError
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 35 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
@@ -1,32 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item android:width="@dimen/dp_560" android:height="@dimen/dp_200">
|
||||
<shape
|
||||
android:shape="rectangle">
|
||||
<gradient
|
||||
android:startColor="#387BD4"
|
||||
android:centerColor="#0D1578"
|
||||
android:endColor="#387BD4"
|
||||
android:angle="-45"/>
|
||||
<corners
|
||||
android:topLeftRadius="@dimen/dp_66"
|
||||
android:bottomRightRadius="@dimen/dp_66"
|
||||
android:topRightRadius="@dimen/dp_26"
|
||||
android:bottomLeftRadius="@dimen/dp_26"/>
|
||||
</shape>
|
||||
|
||||
</item>
|
||||
|
||||
<item android:width="@dimen/dp_556" android:height="@dimen/dp_196" android:left="@dimen/dp_2" android:top="@dimen/dp_2">
|
||||
<shape
|
||||
android:shape="rectangle">
|
||||
<solid android:color="#000936" />
|
||||
<corners
|
||||
android:topLeftRadius="@dimen/dp_66"
|
||||
android:bottomRightRadius="@dimen/dp_66"
|
||||
android:topRightRadius="@dimen/dp_26"
|
||||
android:bottomLeftRadius="@dimen/dp_26"/>
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
@@ -1,34 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:width="@dimen/dp_184" android:height="@dimen/dp_200">
|
||||
<shape
|
||||
android:shape="rectangle">
|
||||
<corners
|
||||
android:topLeftRadius="@dimen/dp_66"
|
||||
android:bottomRightRadius="@dimen/dp_66"
|
||||
android:topRightRadius="@dimen/dp_26"
|
||||
android:bottomLeftRadius="@dimen/dp_26"/>
|
||||
<gradient
|
||||
android:startColor="#9FC8FF"
|
||||
android:centerColor="#1F318E"
|
||||
android:endColor="#9FC8FF"
|
||||
android:angle="-90"/>
|
||||
</shape>
|
||||
</item>
|
||||
<item android:width="@dimen/dp_180" android:height="@dimen/dp_196" android:left="@dimen/dp_2" android:top="@dimen/dp_2">
|
||||
<shape
|
||||
android:shape="rectangle">
|
||||
<corners
|
||||
android:topLeftRadius="@dimen/dp_65"
|
||||
android:bottomRightRadius="@dimen/dp_65"
|
||||
android:topRightRadius="@dimen/dp_25"
|
||||
android:bottomLeftRadius="@dimen/dp_25"/>
|
||||
|
||||
<gradient
|
||||
android:startColor="#231CDE"
|
||||
android:centerColor="#000936"
|
||||
android:endColor="#892B5AD7"
|
||||
android:angle="-90"/>
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
@@ -2,10 +2,14 @@
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:parentTag="android.widget.LinearLayout"
|
||||
tools:layout_width="wrap_content"
|
||||
tools:layout_height="wrap_content"
|
||||
tools:layout_width="@dimen/dp_624"
|
||||
tools:layout_height="@dimen/dp_269"
|
||||
tools:orientation="horizontal"
|
||||
tools:background="@drawable/bg_autopilot_launch_before">
|
||||
tools:background="@drawable/icon_bg_autopilot_status"
|
||||
tools:paddingTop="@dimen/dp_33"
|
||||
tools:paddingBottom="@dimen/dp_30"
|
||||
tools:paddingStart="@dimen/dp_27"
|
||||
tools:paddingEnd="@dimen/dp_30">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/speed_chart_parent"
|
||||
@@ -13,7 +17,7 @@
|
||||
android:layout_height="@dimen/dp_200"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/bg_speed_chart">
|
||||
android:background="@drawable/icon_bg_speed">
|
||||
<TextView
|
||||
android:id="@+id/speed"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -21,8 +25,8 @@
|
||||
android:textSize="@dimen/dp_74"
|
||||
android:textColor="@color/white"
|
||||
tools:text="65"
|
||||
android:text="0"
|
||||
android:layout_marginBottom="@dimen/dp_2"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -36,13 +40,15 @@
|
||||
android:layout_height="@dimen/dp_200"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center_vertical">
|
||||
android:gravity="center_vertical"
|
||||
android:paddingEnd="@dimen/dp_34">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginStart="@dimen/dp_34"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:background="@drawable/bg_geer_position"
|
||||
android:paddingStart="@dimen/dp_53"
|
||||
android:paddingEnd="@dimen/dp_53"
|
||||
@@ -120,7 +126,7 @@
|
||||
android:textSize="@dimen/dp_34"
|
||||
android:layout_marginTop="-1dp"
|
||||
android:textColor="@color/white"
|
||||
tools:text="a:0.0"/>
|
||||
android:text="a:-0.0"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</merge>
|
||||
Reference in New Issue
Block a user