style: 统一列表项 UI 规范(textSize/颜色/间距/checkbox 资源)

- 国际出/进港所有列表项 KV 文字统一为 15sp
- 子列表 checkbox 资源由 _gray 系列改为 _style 系列
- 含子列表卡片 padding 统一为 10dp,展开按钮高度 18dp/padding 4dp
- ULD 管理状态字段"正常"改用 text_green
- 日志查询标签格式规范化(补冒号、修正 completeSpace)
- 航班管理非到达航班文字颜色改为 text_gray,保留航班号 colorPrimary 及 +1 text_red

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-26 10:02:32 +08:00
parent 56945f8488
commit 9402d895db
36 changed files with 1833 additions and 1521 deletions

View File

@@ -12,13 +12,20 @@ class HbQueryListViewHolder(view: View) :
val bean = getItemBean(item)!!
binding.bean = bean
// 到达航班显示橙色
val color = if (bean.beArrival()) {
android.graphics.Color.parseColor("#FF8C00")
val ctx = binding.root.context
if (bean.beArrival()) {
// 到达航班:所有文字显示橙色
setTextColorRecursive(binding.ll, android.graphics.Color.parseColor("#FF8C00"))
} else {
android.graphics.Color.parseColor("#333333")
// 非到达航班:使用 text_gray (#666666)
setTextColorRecursive(binding.ll, ctx.getColor(com.lukouguoji.hangban.R.color.text_gray))
binding.tvFnoValue.setTextColor(ctx.getColor(com.lukouguoji.hangban.R.color.colorPrimary))
val redColor = ctx.getColor(com.lukouguoji.hangban.R.color.text_red)
binding.tvEstTakeoffNext.setTextColor(redColor)
binding.tvActualTakeoffNext.setTextColor(redColor)
binding.tvEstArrivalNext.setTextColor(redColor)
binding.tvActualArrivalNext.setTextColor(redColor)
}
setTextColorRecursive(binding.ll, color)
notifyItemClick(position, binding.ll)
}

View File

@@ -36,10 +36,12 @@
android:layout_weight="1"
android:orientation="vertical">
<!-- 第一行:航班日期 | 航班号 | 航程 | 地区类型 | 计划起飞 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- 航班日期 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -47,18 +49,21 @@
android:gravity="center_vertical">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="航班日期:" />
android:text="航班日期:"
android:textSize="15sp"
completeSpace="@{5}" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.fdate}" />
android:text="@{bean.fdate}"
android:textSize="15sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 航班号 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -66,18 +71,22 @@
android:gravity="center_vertical">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="航班号:" />
android:text="航班号:"
android:textSize="15sp"
completeSpace="@{5}" />
<TextView
android:id="@+id/tv_fno_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.fno}" />
android:text="@{bean.fno}"
android:textSize="15sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 航程 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -85,18 +94,21 @@
android:gravity="center_vertical">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="航程:" />
android:text="航程:"
android:textSize="15sp"
completeSpace="@{5}" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.range}" />
android:text="@{bean.range}"
android:textSize="15sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 地区类型 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -104,18 +116,21 @@
android:gravity="center_vertical">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="地区类型:" />
android:text="地区类型:"
android:textSize="15sp"
completeSpace="@{5}" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.getCountryTypeName()}" />
android:text="@{bean.getCountryTypeName()}"
android:textSize="15sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 计划起飞 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -123,25 +138,29 @@
android:gravity="center_vertical">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="计划起飞:" />
android:text="计划起飞:"
android:textSize="15sp"
completeSpace="@{5}" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.scheduledTackOffHM}" />
android:text="@{bean.scheduledTackOffHM}"
android:textSize="15sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 第二行:预计起飞 | 实际起飞 | 计划降落 | 预计降落 | 实际降落 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<!-- 预计起飞 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -149,17 +168,20 @@
android:gravity="center_vertical">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="预计起飞:" />
android:text="预计起飞:"
android:textSize="15sp"
completeSpace="@{5}" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.estimatedTakeOffHM}" />
android:text="@{bean.estimatedTakeOffHM}"
android:textSize="15sp" />
<TextView
android:id="@+id/tv_est_takeoff_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
@@ -169,6 +191,7 @@
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 实际起飞 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -176,17 +199,20 @@
android:gravity="center_vertical">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="实际起飞:" />
android:text="实际起飞:"
android:textSize="15sp"
completeSpace="@{5}" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.actualTakeOffHM}" />
android:text="@{bean.actualTakeOffHM}"
android:textSize="15sp" />
<TextView
android:id="@+id/tv_actual_takeoff_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
@@ -196,6 +222,7 @@
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 计划降落 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -203,18 +230,21 @@
android:gravity="center_vertical">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="计划降落:" />
android:text="计划降落:"
android:textSize="15sp"
completeSpace="@{5}" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.scheduledArrivalHM}" />
android:text="@{bean.scheduledArrivalHM}"
android:textSize="15sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 预计降落 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -222,17 +252,20 @@
android:gravity="center_vertical">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="预计降落:" />
android:text="预计降落:"
android:textSize="15sp"
completeSpace="@{5}" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.estimatedArrivalHM}" />
android:text="@{bean.estimatedArrivalHM}"
android:textSize="15sp" />
<TextView
android:id="@+id/tv_est_arrival_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
@@ -242,6 +275,7 @@
</androidx.appcompat.widget.LinearLayoutCompat>
<!-- 实际降落 -->
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -249,17 +283,20 @@
android:gravity="center_vertical">
<TextView
completeSpace="@{5}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="实际降落:" />
android:text="实际降落:"
android:textSize="15sp"
completeSpace="@{5}" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.actualArrivalHM}" />
android:text="@{bean.actualArrivalHM}"
android:textSize="15sp" />
<TextView
android:id="@+id/tv_actual_arrival_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"