From 605ff7fe860edb8e6af3a6999b062b304a2f78a1 Mon Sep 17 00:00:00 2001
From: 18034727885 <973609879@qq.com>
Date: 星期三, 24 六月 2026 22:36:26 +0800
Subject: [PATCH] 修复问题
---
app/src/main/res/layout/activity_create_task.xml | 34 +++++++++++-----
app/src/main/res/layout/activity_accident_detail.xml | 2
app/src/main/java/com/xw/yunwei/ui/task/accident/detail/AccidentDetailVM.kt | 4 +-
app/src/main/java/com/xw/yunwei/ui/work/car/detail/CarDetailVM.kt | 4 +
app/src/main/java/com/xw/yunwei/ui/task/create/CreateTaskActivity.kt | 18 +++++++++
5 files changed, 47 insertions(+), 15 deletions(-)
diff --git a/app/src/main/java/com/xw/yunwei/ui/task/accident/detail/AccidentDetailVM.kt b/app/src/main/java/com/xw/yunwei/ui/task/accident/detail/AccidentDetailVM.kt
index 6d98bcd..cd8a5c4 100644
--- a/app/src/main/java/com/xw/yunwei/ui/task/accident/detail/AccidentDetailVM.kt
+++ b/app/src/main/java/com/xw/yunwei/ui/task/accident/detail/AccidentDetailVM.kt
@@ -101,7 +101,7 @@
}
/** 顶部背景图,根据是否超时切换红/蓝主题 */
- val topBgId = isTimeOut.map {
+ val topBgId = showRed.map {
if (it) R.mipmap.img_accident_top_bg_red else R.mipmap.img_accident_top_bg_blue
}
@@ -387,7 +387,7 @@
minutes.postValue(if (list[1] < 10) "0${list[1]}" else "${list[1]}")
second.postValue(if (list[2] < 10) "0${list[2]}" else "${list[2]}")
// 剩余时间不足3分钟显示红色警告
- showRed.postValue(list[0] == 0L && list[1] == 2L)
+ showRed.postValue(list[0] == 0L && list[1] <= 2L)
if (list.all { it == 0L }) { // 全0 此项移除
isTimeOut.postValue(true)
}
diff --git a/app/src/main/java/com/xw/yunwei/ui/task/create/CreateTaskActivity.kt b/app/src/main/java/com/xw/yunwei/ui/task/create/CreateTaskActivity.kt
index f68edfd..7f2f1b5 100644
--- a/app/src/main/java/com/xw/yunwei/ui/task/create/CreateTaskActivity.kt
+++ b/app/src/main/java/com/xw/yunwei/ui/task/create/CreateTaskActivity.kt
@@ -127,6 +127,9 @@
// gpsHelper.startLocation()
// }
viewModel.getVehicleLocation()
+
+ // 检查任务等级选项文字是否重叠,重叠则将横向内边距减半
+ binding.root.post { adjustLevelPaddingIfOverlap() }
}
override fun setObservable() {
@@ -507,4 +510,19 @@
ellipsize = TextUtils.TruncateAt.END
}
}
+
+ private fun adjustLevelPaddingIfOverlap() {
+ val levels = listOf(binding.level0 /*, binding.level1, binding.level2*/)
+ val hasOverlap = levels.any { level ->
+ val leftTv = level.getChildAt(0) as TextView
+ val rightTv = level.getChildAt(1) as TextView
+ rightTv.left - leftTv.right < 5.dpToPx(this)
+ }
+ if (hasOverlap) {
+ val halfPadding = 8.dpToPx(this)
+ levels.forEach {
+ it.setPadding(halfPadding, it.paddingTop, halfPadding, it.paddingBottom)
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/xw/yunwei/ui/work/car/detail/CarDetailVM.kt b/app/src/main/java/com/xw/yunwei/ui/work/car/detail/CarDetailVM.kt
index 5b86b73..300df1c 100644
--- a/app/src/main/java/com/xw/yunwei/ui/work/car/detail/CarDetailVM.kt
+++ b/app/src/main/java/com/xw/yunwei/ui/work/car/detail/CarDetailVM.kt
@@ -173,7 +173,7 @@
}
}
launchRequest(tips = "正在传达指令", showLoading = false, error = { code, msg ->
- ToastUtilCommon.showError(msg.ifEmpty { "操作失败,请重试" })
+ runOnMainThread { ToastUtilCommon.showError(msg.ifEmpty { "操作失败,请重试" }) }
when (type) {
1 -> {
hadCheckDoorStatus.postValue(false)
@@ -195,11 +195,13 @@
workRepository.unlockByType(map)
when (type) {
1 -> {
+ runOnMainThread { ToastUtilCommon.showSuc("车门已解锁") }
hadCheckDoorStatus.postValue(false)
hadDoorOpened.postValue(true)
}
2 -> {
+ runOnMainThread { ToastUtilCommon.showSuc("后备箱已解锁") }
hadCheckTrunkStatus.postValue(false)
hadTrunkOpened.postValue(true)
}
diff --git a/app/src/main/res/layout/activity_accident_detail.xml b/app/src/main/res/layout/activity_accident_detail.xml
index 49d388b..cdeafdf 100644
--- a/app/src/main/res/layout/activity_accident_detail.xml
+++ b/app/src/main/res/layout/activity_accident_detail.xml
@@ -204,7 +204,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:text="倒计时结束前,务必到达现场"
- android:textColor="@color/blue_5"
+ android:textColor="@{viewModel.showRed?@color/red_5:@color/blue_5}"
android:textSize="@dimen/sp_14" />
</LinearLayout>
diff --git a/app/src/main/res/layout/activity_create_task.xml b/app/src/main/res/layout/activity_create_task.xml
index dcda545..a18ccd8 100644
--- a/app/src/main/res/layout/activity_create_task.xml
+++ b/app/src/main/res/layout/activity_create_task.xml
@@ -204,21 +204,33 @@
android:layout_marginHorizontal="@dimen/dp_20"
android:background="@color/gray_4" />
- <androidx.appcompat.widget.AppCompatTextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="@dimen/dp_20"
- android:layout_marginTop="@dimen/dp_8"
- android:drawableStart="@drawable/svg_must"
- android:text="任务等级"
- android:textColor="@color/gray_9"
- android:textSize="@dimen/sp_16"
- android:textStyle="bold" />
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/dp_8">
+
+ <androidx.appcompat.widget.AppCompatImageView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:layout_marginStart="@dimen/dp_12"
+ android:src="@drawable/svg_must" />
+
+ <androidx.appcompat.widget.AppCompatTextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="@dimen/dp_20"
+ android:text="任务等级"
+ android:textColor="@color/gray_9"
+ android:textSize="@dimen/sp_16"
+ android:textStyle="bold" />
+
+ </FrameLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginHorizontal="@dimen/dp_28"
+ android:layout_marginHorizontal="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_8"
android:orientation="vertical">
--
Gitblit v1.7.1