diff --git a/OCH/taxi/driver/src/main/res/layout/taxi_base_fragment.xml b/OCH/taxi/driver/src/main/res/layout/taxi_base_fragment.xml
index 3a519b5bf6..b450e2cbf8 100644
--- a/OCH/taxi/driver/src/main/res/layout/taxi_base_fragment.xml
+++ b/OCH/taxi/driver/src/main/res/layout/taxi_base_fragment.xml
@@ -458,7 +458,7 @@
android:layout_width="@dimen/dp_1046"
android:layout_height="match_parent"
android:elevation="100dp"
- android:visibility="gone"
+ android:visibility="visible"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bone/BoneTabLayout.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bone/BoneTabLayout.kt
index 05d36f9254..46057679a6 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bone/BoneTabLayout.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bone/BoneTabLayout.kt
@@ -3,18 +3,36 @@ package com.mogo.eagle.core.function.hmi.ui.bone
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
-import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.function.hmi.R
-import kotlinx.android.synthetic.main.view_bone_tab.view.clBoneTabChild
-import kotlinx.android.synthetic.main.view_bone_tab.view.clCarInfo
-import kotlinx.android.synthetic.main.view_bone_tab.view.tbCarInfo
+import kotlinx.android.synthetic.main.view_bone_tab.view.tabSwitchCarInfo
+import kotlinx.android.synthetic.main.view_bone_tab.view.tabSwitchMore
+import kotlinx.android.synthetic.main.view_bone_tab.view.tabSwitchMsgBox
+import kotlinx.android.synthetic.main.view_bone_tab.view.tabSwitchReport
+import kotlin.properties.Delegates
class BoneTabLayout @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
-) : ConstraintLayout(context, attrs, defStyleAttr) {
+) : ConstraintLayout(context, attrs, defStyleAttr) {
+
+ private enum class TabType {
+ NONE,
+ CAR_INFO,
+ MSG_INFO,
+ REPORT_INFO,
+ MORE_INFO
+ }
+
+ private var tabType by Delegates.observable(TabType.NONE) { _, oldValue, newValue ->
+ if (oldValue != newValue) {
+ updateTab(oldValue, false)
+ updateTab(newValue, true)
+ } else {
+ updateTab(oldValue, false)
+ }
+ }
init {
LayoutInflater.from(context).inflate(R.layout.view_bone_tab, this, true)
@@ -22,14 +40,66 @@ class BoneTabLayout @JvmOverloads constructor(
}
private fun initView() {
- tbCarInfo.setOnCheckedChangeListener { _, isChecked ->
- if (isChecked){
- clBoneTabChild.visibility = View.VISIBLE
- clCarInfo.visibility = View.VISIBLE
- }else{
- clCarInfo.visibility = View.GONE
- clBoneTabChild.visibility = View.GONE
+ tabSwitchCarInfo.setOnClickListener {
+ updateTabType(TabType.CAR_INFO)
+ }
+ tabSwitchMsgBox.setOnClickListener {
+ updateTabType(TabType.MSG_INFO)
+ }
+ tabSwitchReport.setOnClickListener {
+ updateTabType(TabType.REPORT_INFO)
+ }
+ tabSwitchMore.setOnClickListener {
+ updateTabType(TabType.MORE_INFO)
+ }
+ }
+
+ private fun updateTabType(changeType: TabType) {
+ tabType = if (tabType == changeType) {
+ TabType.NONE
+ } else {
+ TabType.CAR_INFO
+ }
+ }
+
+ private fun updateTab(tabType: TabType, check: Boolean) {
+ when (tabType) {
+ TabType.CAR_INFO -> {
+ tabSwitchCarInfo.switchTab(check)
+ if(check){
+
+ }else{
+
+ }
}
+
+ TabType.MSG_INFO -> {
+ tabSwitchMsgBox.switchTab(check)
+ if(check){
+
+ }else{
+
+ }
+ }
+
+ TabType.REPORT_INFO -> {
+ tabSwitchReport.switchTab(check)
+ if(check){
+
+ }else{
+
+ }
+ }
+
+ TabType.MORE_INFO -> {
+ tabSwitchMore.switchTab(check)
+ if(check){
+
+ }else{
+
+ }
+ }
+ else -> {}
}
}
}
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bone/TabSwitchView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bone/TabSwitchView.kt
index 898aca9a75..d599a25720 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bone/TabSwitchView.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/bone/TabSwitchView.kt
@@ -3,21 +3,60 @@ package com.mogo.eagle.core.function.hmi.ui.bone
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
+import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.function.hmi.R
+import kotlinx.android.synthetic.main.view_tab_switch.view.ivTabClick
+import kotlinx.android.synthetic.main.view_tab_switch.view.ivTabClickBg
+import kotlinx.android.synthetic.main.view_tab_switch.view.ivTabDefault
class TabSwitchView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
-) : ConstraintLayout(context, attrs, defStyleAttr) {
+) : ConstraintLayout(context, attrs, defStyleAttr) {
+
+ private var tabDefaultRes = -1
+ private var tabClickRes = -1
+ private var tabClickBgRes = -1
+
+ private var isCheck = false
init {
LayoutInflater.from(context).inflate(R.layout.view_tab_switch, this, true)
+ try {
+ val typedArray = context.obtainStyledAttributes(attrs, R.styleable.TabSwitch)
+ tabDefaultRes = typedArray.getResourceId(R.styleable.TabSwitch_defaultRes, -1)
+ tabClickRes = typedArray.getResourceId(R.styleable.TabSwitch_clickRes, -1)
+ tabClickBgRes = typedArray.getResourceId(R.styleable.TabSwitch_clickBgRes, -1)
+ typedArray.recycle()
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
initView()
}
private fun initView() {
+ ivTabDefault.setImageResource(tabDefaultRes)
+ ivTabClick.setImageResource(tabClickRes)
+ ivTabClickBg.setImageResource(tabClickBgRes)
+ }
+ fun switchTab(isCheck: Boolean) {
+ if (isCheck != this.isCheck) {
+ this.isCheck = isCheck
+ notifyView()
+ }
+ }
+
+ private fun notifyView() {
+ if (isCheck) {
+ ivTabClick.visibility = View.VISIBLE
+ ivTabClickBg.visibility = View.VISIBLE
+ } else {
+ ivTabClick.visibility = View.GONE
+ ivTabClickBg.visibility = View.GONE
+
+ }
}
}
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_car_info_open.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_car_info_click.png
similarity index 100%
rename from core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_car_info_open.png
rename to core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_car_info_click.png
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_click_bg.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_click_bg.png
new file mode 100644
index 0000000000..9bac73ec11
Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_click_bg.png differ
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_more.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_more.png
new file mode 100644
index 0000000000..6c415b966b
Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_more.png differ
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_more_click.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_more_click.png
new file mode 100644
index 0000000000..d3edff78b1
Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_more_click.png differ
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_msg_box.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_msg_box.png
new file mode 100644
index 0000000000..20f1c3d54e
Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_msg_box.png differ
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_msg_box_click.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_msg_box_click.png
new file mode 100644
index 0000000000..8fd7c25e70
Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_msg_box_click.png differ
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_report.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_report.png
new file mode 100644
index 0000000000..a5d71e87c2
Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_report.png differ
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_report_click.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_report_click.png
new file mode 100644
index 0000000000..1f24941980
Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-nodpi/icon_tab_report_click.png differ
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/selector_tab_car_info.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/selector_tab_car_info.xml
index 506d8241a1..6dff28022f 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/selector_tab_car_info.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/selector_tab_car_info.xml
@@ -1,5 +1,5 @@
-
+
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_bone_container.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_bone_container.xml
index d6ffd6479f..72b04bcde0 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_bone_container.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_bone_container.xml
@@ -27,10 +27,9 @@
+ app:layout_constraintTop_toTopOf="parent"/>
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_bone_tab.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_bone_tab.xml
index b1ab694aaf..d913499e69 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_bone_tab.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_bone_tab.xml
@@ -1,71 +1,82 @@
-
-
+ android:layout_height="@dimen/dp_140"
+ android:layout_marginStart="@dimen/dp_40"
+ android:layout_marginTop="@dimen/dp_20"
+ app:defaultRes="@drawable/icon_tab_car_info"
+ app:clickRes="@drawable/icon_tab_car_info_click"
+ app:clickBgRes="@drawable/icon_tab_click_bg"
+ app:layout_constraintLeft_toLeftOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
-
+
-
+
-
-
+
+
+ android:layout_height="match_parent"
+ android:background="@color/acc_default_txt_color" />
-
-
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_tab_switch.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_tab_switch.xml
index 2fb1469f0e..834094ca21 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_tab_switch.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_tab_switch.xml
@@ -1,18 +1,10 @@
-
-
+ app:layout_constraintTop_toTopOf="parent"
+ tools:ignore="ContentDescription" />
+ app:layout_constraintTop_toTopOf="parent"
+ tools:ignore="ContentDescription" />
+ app:layout_constraintTop_toTopOf="parent"
+ tools:ignore="ContentDescription" />
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ app:layout_constraintRight_toRightOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml
index 32f3b7de6e..8923ff5bec 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/attr.xml
@@ -152,4 +152,10 @@
+
+
+
+
+
+
\ No newline at end of file