[3.4.0]Taxi乘客屏UI调整

This commit is contained in:
xuxinchao
2023-08-01 18:26:56 +08:00
parent 291409765a
commit 8a4e9533de
11 changed files with 155 additions and 36 deletions

View File

@@ -7,6 +7,7 @@ import android.view.View
import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.TextView
import androidx.core.content.ContextCompat
import com.mogo.eagle.core.data.config.HmiBuildConfig
import com.mogo.eagle.core.data.enums.DataSourceType
import com.mogo.eagle.core.data.enums.TrafficLightEnum
@@ -20,7 +21,7 @@ import com.mogo.eagle.core.function.call.v2x.CallerTrafficLightListenerManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils.*
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import kotlinx.android.synthetic.main.hmi_view_traffic_light.view.*
@@ -58,7 +59,11 @@ class SingleTrafficLightView @JvmOverloads constructor(
override fun onAttachedToWindow() {
super.onAttachedToWindow()
LayoutInflater.from(context).inflate(R.layout.hmi_view_traffic_light, this, true)
if(trafficLightUser==1){
LayoutInflater.from(context).inflate(R.layout.hmi_view_traffic_light_taxi_p, this, true)
}else{
LayoutInflater.from(context).inflate(R.layout.hmi_view_traffic_light, this, true)
}
mLightIconIV = findViewById(R.id.hmi_traffic_light_iv)
mLightIconBG = findViewById(R.id.hmi_traffic_light_bg)
mLightTimeTV = findViewById(R.id.hmi_traffic_light_time_tv)
@@ -71,8 +76,8 @@ class SingleTrafficLightView @JvmOverloads constructor(
if(trafficLightUser==1){
hmi_traffic_light_bg.setBackgroundResource(R.drawable.traffic_light_bg_taxi_p)
hmi_traffic_light_source.setTextColor(resources.getColor(R.color.color_2D3E5F))
hmi_traffic_light_divider.setBackgroundColor(resources.getColor(R.color.color_2D3E5F))
hmi_traffic_light_source.setTextColor(ContextCompat.getColor(context,R.color.color_FF213757))
hmi_traffic_light_divider.setBackgroundColor(ContextCompat.getColor(context,R.color.color_CC5C71AB))
}
}
@@ -89,17 +94,17 @@ class SingleTrafficLightView @JvmOverloads constructor(
}
override fun onSkinModeChange(skinMode: Int) {
ThreadUtils.runOnUiThread {
runOnUiThread {
when (skinMode) {
0 -> {
hmi_traffic_light_bg.setBackgroundResource(R.drawable.traffic_light_bg)
hmi_traffic_light_source.setTextColor(resources.getColor(R.color.color_FFFFFF))
hmi_traffic_light_divider.setBackgroundColor(resources.getColor(R.color.color_FFFFFF))
hmi_traffic_light_source.setTextColor(ContextCompat.getColor(context,R.color.color_FFFFFF))
hmi_traffic_light_divider.setBackgroundColor(ContextCompat.getColor(context,R.color.color_FFFFFF))
}
1 -> {
hmi_traffic_light_bg.setBackgroundResource(R.drawable.traffic_light_bg_day_light)
hmi_traffic_light_source.setTextColor(resources.getColor(R.color.color_2D3E5F))
hmi_traffic_light_divider.setBackgroundColor(resources.getColor(R.color.color_2D3E5F))
hmi_traffic_light_source.setTextColor(ContextCompat.getColor(context,R.color.color_2D3E5F))
hmi_traffic_light_divider.setBackgroundColor(ContextCompat.getColor(context,R.color.color_2D3E5F))
}
}
}
@@ -184,12 +189,22 @@ class SingleTrafficLightView @JvmOverloads constructor(
if (redNum > 0) {
resetView()
mLightTimeTV!!.setVertical(true)
mLightTimeTV!!.setColorList(
intArrayOf(
resources.getColor(R.color.hmi_traffic_light_red_color_up),
resources.getColor(R.color.hmi_traffic_light_red_color_down)
if(trafficLightUser == 1){
mLightTimeTV!!.setColorList(
intArrayOf(
ContextCompat.getColor(context,R.color.color_FF384D6E),
ContextCompat.getColor(context,R.color.color_FF384D6E)
)
)
)
}else{
mLightTimeTV!!.setColorList(
intArrayOf(
ContextCompat.getColor(context,R.color.hmi_traffic_light_red_color_up),
ContextCompat.getColor(context,R.color.hmi_traffic_light_red_color_down)
)
)
}
mLightTimeTV!!.text = redNum.toString()
} else {
disableTrafficLightCountDown()
@@ -204,12 +219,21 @@ class SingleTrafficLightView @JvmOverloads constructor(
if (greenNum > 0) {
resetView()
mLightTimeTV!!.setVertical(true)
mLightTimeTV!!.setColorList(
intArrayOf(
resources.getColor(R.color.hmi_traffic_light_green_color_up),
resources.getColor(R.color.hmi_traffic_light_green_color_down)
if(trafficLightUser == 1){
mLightTimeTV!!.setColorList(
intArrayOf(
ContextCompat.getColor(context,R.color.color_FF384D6E),
ContextCompat.getColor(context,R.color.color_FF384D6E)
)
)
)
}else{
mLightTimeTV!!.setColorList(
intArrayOf(
ContextCompat.getColor(context,R.color.hmi_traffic_light_green_color_up),
ContextCompat.getColor(context,R.color.hmi_traffic_light_green_color_down)
)
)
}
mLightTimeTV!!.text = greenNum.toString()
} else {
disableTrafficLightCountDown()
@@ -224,12 +248,21 @@ class SingleTrafficLightView @JvmOverloads constructor(
if (yellowNum > 0) {
resetView()
mLightTimeTV!!.setVertical(true)
mLightTimeTV!!.setColorList(
intArrayOf(
resources.getColor(R.color.hmi_traffic_light_yellow_color_up),
resources.getColor(R.color.hmi_traffic_light_yellow_color_down)
if(trafficLightUser == 1){
mLightTimeTV!!.setColorList(
intArrayOf(
ContextCompat.getColor(context,R.color.color_FF384D6E),
ContextCompat.getColor(context,R.color.color_FF384D6E)
)
)
)
}else{
mLightTimeTV!!.setColorList(
intArrayOf(
ContextCompat.getColor(context,R.color.hmi_traffic_light_yellow_color_up),
ContextCompat.getColor(context,R.color.hmi_traffic_light_yellow_color_down)
)
)
}
mLightTimeTV!!.text = yellowNum.toString()
} else {
disableTrafficLightCountDown()
@@ -247,28 +280,40 @@ class SingleTrafficLightView @JvmOverloads constructor(
private fun updateTrafficLightIcon(lightId: TrafficLightEnum, lightSource: DataSourceType) {
when (lightId) {
TrafficLightEnum.RED -> {
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_light_red_nor)
if(trafficLightUser == 1){
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_light_red_taxi_p)
}else{
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_light_red_nor)
}
this@SingleTrafficLightView.visibility = VISIBLE
}
TrafficLightEnum.YELLOW -> {
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_lightyellow_nor)
if(trafficLightUser == 1){
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_lightyellow_taxi_p)
}else{
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_lightyellow_nor)
}
this@SingleTrafficLightView.visibility = VISIBLE
}
TrafficLightEnum.GREEN -> {
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_light_green_nor)
if(trafficLightUser == 1){
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_light_green_taxi_p)
}else{
mLightIconIV!!.setBackgroundResource(R.drawable.hmi_light_green_nor)
}
this@SingleTrafficLightView.visibility = VISIBLE
}
else -> this@SingleTrafficLightView.visibility = GONE
}
when (lightSource) {
DataSourceType.AICLOUD -> {
mLightSourceTV!!.text = "云端下发"
mLightSourceTV!!.text = context.getString(R.string.light_source_ai_cloud)
}
DataSourceType.TELEMATIC -> {
mLightSourceTV!!.text = "自车感知"
mLightSourceTV!!.text = context.getString(R.string.light_source_perception)
}
DataSourceType.OBU -> {
mLightSourceTV!!.text = "OBU"
mLightSourceTV!!.text = context.getString(R.string.light_source_obu)
}
else -> {
mLightSourceTV!!.visibility = GONE

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -0,0 +1,67 @@
<?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/hmi_traffic_light_bus_layout_width"
android:layout_height="@dimen/hmi_traffic_light_layout_height"
xmlns:tools="http://schemas.android.com/tools"
android:visibility="visible">
<ImageView
android:id="@+id/hmi_traffic_light_bg"
android:layout_width="@dimen/hmi_traffic_light_bus_bg_width"
android:layout_height="@dimen/hmi_traffic_light_bg_height"
android:layout_marginStart="@dimen/hmi_traffic_light_bg_margin_left"
android:layout_marginTop="@dimen/hmi_traffic_light_bg_margin_top"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
<ImageView
android:id="@+id/hmi_traffic_light_iv"
android:layout_width="@dimen/dp_116"
android:layout_height="@dimen/dp_116"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginStart="@dimen/dp_19"
android:scaleType="fitXY"
/>
<com.mogo.eagle.core.function.hmi.ui.widget.GradientTextView
android:id="@+id/hmi_traffic_light_time_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="@dimen/hmi_traffic_light_time_size"
android:textStyle="bold"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@id/hmi_traffic_light_divider"
android:layout_marginStart="@dimen/dp_116"
/>
<TextView
android:id="@+id/hmi_traffic_light_source"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="自车感知"
android:textSize="@dimen/hmi_traffic_light_source_size"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginEnd="@dimen/dp_30"
android:textStyle="bold"
/>
<View
android:id="@+id/hmi_traffic_light_divider"
android:layout_width="@dimen/dp_1"
android:layout_height="@dimen/dp_47"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toLeftOf="@id/hmi_traffic_light_source"
android:layout_marginEnd="@dimen/dp_25"
/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -79,7 +79,7 @@
<declare-styleable name="TrafficLightView">
<attr name="traffic_light_user">
<enum name="taxi_p" value="1" />
<enum name="traffic_light_taxi_p" value="1" />
</attr>
</declare-styleable>

View File

@@ -25,6 +25,9 @@
<color name="color_D4D8DC">#D4D8DC</color>
<color name="color_27FFFFFF">#27FFFFFF</color>
<color name="color_1E111111">#1E111111</color>
<color name="color_FF213757">#FF213757</color>
<color name="color_CC5C71AB">#335C71AB</color>
<color name="color_FF384D6E">#FF384D6E</color>
<color name="background_wtf">#FF999900</color>
<color name="background_error">#FFCC0000</color>

View File

@@ -82,4 +82,8 @@
<string name="hint_exit_app_again">再按一次退出应用</string>
<!--消息盒子V2X消息Title-->
<string name="v2x_title_content">%s-%s</string>
<!--红绿灯数据来源-->
<string name="light_source_ai_cloud">云端下发</string>
<string name="light_source_perception">自车感知</string>
<string name="light_source_obu">\u3000OBU\u3000</string>
</resources>