From 583e35dd89d2c76aa41184d6c482da3cb3517197 Mon Sep 17 00:00:00 2001 From: EmArrow Date: Thu, 18 Jul 2024 18:32:48 +0800 Subject: [PATCH] [6.5.0] wait to fix ui --- .../passenger/ui/TaxiPassengerBaseFragment.kt | 1 + .../main/res/layout/taxi_p_base_fragment.xml | 4 +- .../function/view/RoadCrossRoamListAdapter.kt | 5 - .../core/function/view/RoadCrossRoamView.kt | 34 +++- .../main/res/drawable/bg_nor_test_light.9.png | Bin 0 -> 12611 bytes .../res/layout/view_road_cross_roam_light.xml | 168 ++++++++++-------- 6 files changed, 122 insertions(+), 90 deletions(-) create mode 100644 core/function-impl/mogo-core-function-map/src/main/res/drawable/bg_nor_test_light.9.png diff --git a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt index 707a69bcf0..2434ecc359 100644 --- a/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt +++ b/OCH/taxi/passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt @@ -84,6 +84,7 @@ class TaxiPassengerBaseFragment() : override fun setSettingAndMusicShow(settingShow: Boolean, musicShow: Boolean) { clSettingView.visibility = if(settingShow) View.VISIBLE else View.GONE mv_music_info.visibility = if(musicShow) View.VISIBLE else View.GONE +// CallerHmiViewControlListenerManager.invokeV2XEvent(View.VISIBLE) //todo emArrow test } }) diff --git a/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml b/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml index 3a13579f75..1c70f9a316 100644 --- a/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml +++ b/OCH/taxi/passenger/src/main/res/layout/taxi_p_base_fragment.xml @@ -194,9 +194,9 @@ diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamListAdapter.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamListAdapter.kt index 78b1f418e1..8aee2c7bc8 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamListAdapter.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamListAdapter.kt @@ -1,7 +1,6 @@ package com.mogo.eagle.core.function.view import android.content.Context -import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -22,11 +21,9 @@ class RoadCrossRoamListAdapter(private val mContext: Context, private val lightM items.add("路口危险车辆分析") items.add("路口交通事故分析") items.add("路口行人碰撞分析") - Log.i("emArrow","lightmode:$lightMode") if(lightMode){ items.add("路口非机动车分析") items.add("路口灯态分析") - Log.i("emArrow","day mode add, list size : ${items.size}") } } @@ -36,12 +33,10 @@ class RoadCrossRoamListAdapter(private val mContext: Context, private val lightM } override fun getItemCount(): Int { - Log.i("emArrow","count mode: $lightMode") return if(lightMode) 6 else 4 } override fun onBindViewHolder(holder: ViewHolder, position: Int) { - Log.i("emArrow","onBindViewHolder item size: ${items.size} , count:${itemCount}") val item = items[position] if(lightMode){ holder.textView.setTextColor(mContext.getColor(R.color.color_191A1C)) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt index 876405702d..4b1da441b0 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/RoadCrossRoamView.kt @@ -8,11 +8,14 @@ import android.os.Handler import android.os.Looper import android.os.Message import android.util.AttributeSet +import android.util.Log import android.util.TypedValue import android.view.LayoutInflater import android.view.View import android.view.animation.LinearInterpolator import androidx.constraintlayout.widget.ConstraintLayout +import androidx.core.view.marginBottom +import androidx.core.view.marginTop import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.mogo.commons.voice.AIAssist @@ -107,6 +110,13 @@ class RoadCrossRoamView @JvmOverloads constructor( } } + override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) { + super.onSizeChanged(w, h, oldw, oldh) + Log.i("emArrow","roadCrossRoamView anim width : $w , old w : $oldw" + + "height : $h , old h : $oldh" + + "marginTop : ${this.marginTop} , marginBottom : ${this.marginBottom}") + } + override fun v2xEventVisible(v: Int, tag: String) { super.v2xEventVisible(v, tag) if (this.visibility == View.GONE) { @@ -117,7 +127,7 @@ class RoadCrossRoamView @JvmOverloads constructor( } if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { if (tag == V2X_EVENT_TAG && v == View.VISIBLE) { - val anim = ValueAnimator.ofInt(height, 475) + val anim = ValueAnimator.ofInt(height, 460) anim.duration = 500 anim.addUpdateListener { animation -> val value = animation.animatedValue as Int @@ -125,7 +135,7 @@ class RoadCrossRoamView @JvmOverloads constructor( } anim.start() - val animMap = ValueAnimator.ofInt(160, 80) + val animMap = ValueAnimator.ofInt(160, 90) animMap.duration = 500 animMap.addUpdateListener { animation -> val value = animation.animatedValue as Int @@ -133,6 +143,10 @@ class RoadCrossRoamView @JvmOverloads constructor( (clScanningBg.layoutParams as? MarginLayoutParams)?.topMargin = value } animMap.start() + (mapRoamView.layoutParams as? MarginLayoutParams)?.height = 280 + (clScanningBg.layoutParams as? MarginLayoutParams)?.height = 280 + mapRoamView.requestLayout() + clScanningBg.requestLayout() lvRoadCrossRoamTip.visibility = View.GONE ivZhiRoadRoamSet.visibility = View.GONE @@ -179,10 +193,17 @@ class RoadCrossRoamView @JvmOverloads constructor( } private fun attachView() { - // 没有路线不做提示 - if (CallerAutoPilotStatusListenerManager.getLineId() == 0L) { + if(this.visibility == View.VISIBLE){ return } + + Log.i("emArrow","roadCrossRoamView width : ${this.layoutParams.width} , " + + "height : ${this.layoutParams.height} , " + + "margin : ${this.marginTop} , ${this.marginBottom}") + // 没有路线不做提示 +// if (CallerAutoPilotStatusListenerManager.getLineId() == 0L) { +// return +// } // 处于漫游模式下不做处理 if (CallerMapIdentifyManager.roam.second) { if (CallerMapIdentifyManager.roam.first != TAG) { @@ -268,6 +289,11 @@ class RoadCrossRoamView @JvmOverloads constructor( ) ivZhiRoadRoamView.visibility = View.VISIBLE tvRoadRoamTitle.text = context.resources.getString(R.string.road_cross_roam_tip) + + (mapRoamView.layoutParams as? MarginLayoutParams)?.height = 300 + (clScanningBg.layoutParams as? MarginLayoutParams)?.height = 300 + mapRoamView.requestLayout() + clScanningBg.requestLayout() animScale = false } CallerHmiViewControlListenerManager.invokeV2XEvent(View.GONE, TAG) diff --git a/core/function-impl/mogo-core-function-map/src/main/res/drawable/bg_nor_test_light.9.png b/core/function-impl/mogo-core-function-map/src/main/res/drawable/bg_nor_test_light.9.png new file mode 100644 index 0000000000000000000000000000000000000000..81acc4e8c0866e0e3a6952e5377ab5d7917df970 GIT binary patch literal 12611 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 r<)l2o`X - - - - - - - - - - + android:background="@drawable/bg_nor_test_light"> + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintBottom_toBottomOf="parent"> + + + + + + + + + + + + + + - \ No newline at end of file