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