fix(gjc): 出港移库编辑页手机卡片改为与出港货物运单信息一致

- 四张卡片统一 bg_phone_card + 左侧蓝色短竖条标题 + 分割线,
  间距/内边距对齐 fragment_gjc_query_waybill(页面 12dp、卡片 14dp)
- 字段改用 PhoneKvItem 两列网格;运单号/移交状态并入基本信息首行,
  运单类型/品名改为整行字段
- 备注沿用无下划线输入,字号与 PhoneKvItem 一致,详情态空值占位与字段同色
- 删除上次为本页单独新增的 move_edit_ 色值与 drawable,及主卡 clipToOutline 设置

Refs: 禅道 Bug #632

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
YANG JIANKUAN
2026-10-21 12:10:34 +08:00
parent 00f2dc98dd
commit a909f96d61
8 changed files with 259 additions and 472 deletions

View File

@@ -41,9 +41,6 @@ class IntExpMoveEditActivity :
binding.viewModel = viewModel binding.viewModel = viewModel
// 手机主信息卡:按圆角裁切子 View,让左侧蓝色装饰条贴合卡片圆角(平板布局无该 id)
binding.cardWaybill?.clipToOutline = true
// 绑定图片 RecyclerView 引用 // 绑定图片 RecyclerView 引用
viewModel.rvImages = binding.rvImages viewModel.rvImages = binding.rvImages

View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 出港移库编辑页(手机)分区卡片:白底 + 12dp 圆角 + 1dp 描边 -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/white" />
<corners android:radius="12dp" />
<stroke
android:width="1dp"
android:color="@color/move_edit_card_border" />
</shape>

View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 出港移库编辑页(手机)主信息卡:白底 + 12dp 圆角 + 1dp 描边;左侧装饰条由布局叠加,靠 clipToOutline 裁圆角 -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/white" />
<corners android:radius="12dp" />
<stroke
android:width="1dp"
android:color="@color/move_edit_card_border_main" />
</shape>

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 出港移库编辑页(手机)移交状态圆点 -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/move_edit_dot_done" />
</shape>

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 出港移库编辑页(手机)移交状态圆点 -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/move_edit_dot_pending" />
</shape>

View File

@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 出港移库编辑页(手机)运单类型标签:红底 + 4dp 圆角 -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/move_edit_tag_red" />
<corners android:radius="4dp" />
</shape>

View File

@@ -5,11 +5,11 @@
详情(DetailsPageType.Details):列表卡片「查看详情」进入,全部只读; 详情(DetailsPageType.Details):列表卡片「查看详情」进入,全部只读;
编辑(DetailsPageType.Modify):列表卡片「编辑」进入(对应平板侧滑「编辑」),仅备注与交接图片可改。 编辑(DetailsPageType.Modify):列表卡片「编辑」进入(对应平板侧滑「编辑」),仅备注与交接图片可改。
样式取自「移库编辑」HTML 原型:主信息卡左侧蓝色装饰条,分区卡白底表头 + 分割线,两列字段网格;移库人/移库时间取列表数据(listBean)。 卡片样式与「出港货物」详情的运单信息 Tab(fragment_gjc_query_waybill.xml)一致:
bg_phone_card + 左侧蓝色短竖条标题 + 分割线 + PhoneKvItem 两列字段网格;移库人/移库时间取列表数据(listBean)。
--> -->
<layout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto">
xmlns:tools="http://schemas.android.com/tools">
<data> <data>
@@ -37,296 +37,157 @@
android:fillViewport="true" android:fillViewport="true"
android:overScrollMode="never"> android:overScrollMode="never">
<!-- clipToPadding=false:卡片阴影要画进 16dp 内边距,否则在卡片左右边缘被裁齐 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:clipToPadding="false"
android:orientation="vertical" android:orientation="vertical"
android:padding="16dp"> android:padding="12dp">
<!-- ==================== 卡片一:运单基本信息(白底 + 左侧蓝色装饰条,样式取自「移库编辑」原型) ==================== --> <!-- ==================== 卡片一:基本信息 ==================== -->
<!-- 横向:左侧 3dp 装饰条(高度随内容)+ 内容;clipToOutline 由 Activity 设置,让装饰条随卡片圆角裁切。
卡片阴影:系统默认黑色短阴影会和描边叠成一圈脏边,改用原型的蓝灰半透明阴影色(API 28+ 生效) -->
<LinearLayout <LinearLayout
android:id="@+id/card_waybill"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/bg_move_edit_card_main" android:background="@drawable/bg_phone_card"
android:elevation="6dp" android:orientation="vertical"
android:outlineAmbientShadowColor="@color/move_edit_shadow_main" android:paddingHorizontal="14dp"
android:outlineSpotShadowColor="@color/move_edit_shadow_main" android:paddingBottom="14dp">
tools:targetApi="28"
android:orientation="horizontal">
<View <!-- 卡片头 -->
android:layout_width="3dp"
android:layout_height="match_parent"
android:background="@color/move_edit_accent" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<!-- 表头:运单号 + 移交状态 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:paddingVertical="12dp" android:paddingVertical="12dp">
android:paddingStart="17dp"
android:paddingEnd="16dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:letterSpacing="0.04"
android:maxLines="1"
android:text="@{viewModel.dataBean.wbNo}"
android:textColor="@color/move_edit_wb_no"
android:textSize="19sp"
android:textStyle="bold" />
<View <View
android:layout_width="8dp" android:layout_width="4dp"
android:layout_height="8dp" android:layout_height="16dp"
android:layout_marginStart="12dp" android:background="@color/phone_primary" />
android:layout_marginEnd="6dp"
android:background="@{viewModel.dataBean.moveState == 1 ? @drawable/bg_move_edit_dot_done : @drawable/bg_move_edit_dot_pending}" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="sans-serif-medium" android:layout_marginStart="8dp"
android:text="@{viewModel.dataBean.moveStateText}" android:text="基本信息"
android:textColor="@color/move_edit_status" android:textColor="@color/phone_text_title"
android:textSize="12sp" /> android:textSize="15sp"
android:textStyle="bold" />
</LinearLayout> </LinearLayout>
<View <com.google.android.material.divider.MaterialDivider
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1px" android:layout_height="1px"
android:background="@color/move_edit_card_border" /> android:layout_marginBottom="12dp"
android:background="@color/phone_divider" />
<!-- 运单号 | 移交状态 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="horizontal">
android:paddingStart="17dp"
android:paddingTop="16dp"
android:paddingEnd="16dp"
android:paddingBottom="16dp">
<!-- 运单类型(红标签) --> <com.lukouguoji.module_base.ui.weight.phone.PhoneKvItem
<TextView android:layout_width="0dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/bg_move_edit_tag_red" android:layout_weight="1"
android:fontFamily="sans-serif-medium" title='@{"运单号"}'
android:paddingHorizontal="10dp" value="@{viewModel.dataBean.wbNo}" />
android:paddingVertical="4dp"
android:text='@{viewModel.dataBean.awbTypeName == null || viewModel.dataBean.awbTypeName.empty ? "-" : viewModel.dataBean.awbTypeName}'
android:textColor="@android:color/white"
android:textSize="12sp" />
<!-- 品名 --> <com.lukouguoji.module_base.ui.weight.phone.PhoneKvItem
<TextView android:layout_width="0dp"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1"
title='@{"移交状态"}'
value="@{viewModel.dataBean.moveStateText}" />
</LinearLayout>
<!-- 件数 | 重量 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
android:text='@{viewModel.dataBean.goods == null || viewModel.dataBean.goods.empty ? "-" : viewModel.dataBean.goods}'
android:textColor="@color/move_edit_heading"
android:textSize="22sp"
android:textStyle="bold" />
<!-- 两列字段:件数/重量、特码/代理人、出运路径/承运人 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"> android:orientation="horizontal">
<LinearLayout <com.lukouguoji.module_base.ui.weight.phone.PhoneKvItem
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> title='@{"件数"}'
value='@{viewModel.dataBean.pc == null ? "" : String.valueOf(viewModel.dataBean.pc)}' />
<TextView <com.lukouguoji.module_base.ui.weight.phone.PhoneKvItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="件数"
android:textColor="@color/move_edit_label"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:fontFamily="sans-serif-medium"
android:text='@{viewModel.dataBean.pc == null ? "-" : String.valueOf(viewModel.dataBean.pc)}'
android:textColor="@color/move_edit_heading"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:layout_marginStart="16dp" title='@{"重量"}'
android:orientation="vertical"> value='@{viewModel.dataBean.weight == null ? "" : String.valueOf(viewModel.dataBean.weight) + " kg"}' />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="重量"
android:textColor="@color/move_edit_label"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:fontFamily="sans-serif-medium"
android:text='@{viewModel.dataBean.weight == null ? "-" : String.valueOf(viewModel.dataBean.weight) + " kg"}'
android:textColor="@color/move_edit_heading"
android:textSize="15sp" />
</LinearLayout>
</LinearLayout> </LinearLayout>
<!-- 特码 | 代理人 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="12dp"
android:orientation="horizontal"> android:orientation="horizontal">
<LinearLayout <com.lukouguoji.module_base.ui.weight.phone.PhoneKvItem
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> title='@{"特码"}'
value="@{viewModel.dataBean.spCode}" />
<TextView <com.lukouguoji.module_base.ui.weight.phone.PhoneKvItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="特码"
android:textColor="@color/move_edit_label"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:fontFamily="sans-serif-medium"
android:text='@{viewModel.dataBean.spCode == null || viewModel.dataBean.spCode.empty ? "-" : viewModel.dataBean.spCode}'
android:textColor="@color/move_edit_heading"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:layout_marginStart="16dp" title='@{"代理人"}'
android:orientation="vertical"> value="@{viewModel.dataBean.agentCode}" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="代理人"
android:textColor="@color/move_edit_label"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:fontFamily="sans-serif-medium"
android:text='@{viewModel.dataBean.agentCode == null || viewModel.dataBean.agentCode.empty ? "-" : viewModel.dataBean.agentCode}'
android:textColor="@color/move_edit_heading"
android:textSize="15sp" />
</LinearLayout>
</LinearLayout> </LinearLayout>
<!-- 出运路径 | 承运人 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="12dp"
android:orientation="horizontal"> android:orientation="horizontal">
<LinearLayout <com.lukouguoji.module_base.ui.weight.phone.PhoneKvItem
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> title='@{"出运路径"}'
value="@{viewModel.dataBean.range}" />
<TextView <com.lukouguoji.module_base.ui.weight.phone.PhoneKvItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="出运路径"
android:textColor="@color/move_edit_label"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:fontFamily="sans-serif-medium"
android:text='@{viewModel.dataBean.range == null || viewModel.dataBean.range.empty ? "-" : viewModel.dataBean.range}'
android:textColor="@color/move_edit_heading"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:layout_marginStart="16dp" title='@{"承运人"}'
android:orientation="vertical"> value="@{viewModel.dataBean.by}" />
<TextView </LinearLayout>
android:layout_width="wrap_content"
<!-- 运单类型(整行) -->
<com.lukouguoji.module_base.ui.weight.phone.PhoneKvItem
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="承运人" android:layout_marginTop="12dp"
android:textColor="@color/move_edit_label" title='@{"运单类型"}'
android:textSize="12sp" /> value="@{viewModel.dataBean.awbTypeName}" />
<TextView <!-- 品名(整行) -->
android:layout_width="wrap_content" <com.lukouguoji.module_base.ui.weight.phone.PhoneKvItem
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="6dp" android:layout_marginTop="12dp"
android:fontFamily="sans-serif-medium" title='@{"品名"}'
android:text='@{viewModel.dataBean.by == null || viewModel.dataBean.by.empty ? "-" : viewModel.dataBean.by}' value="@{viewModel.dataBean.goods}" />
android:textColor="@color/move_edit_heading"
android:textSize="15sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout> </LinearLayout>
@@ -334,129 +195,112 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="12dp"
android:background="@drawable/bg_move_edit_card" android:background="@drawable/bg_phone_card"
android:elevation="2dp"
android:outlineAmbientShadowColor="@color/move_edit_shadow"
android:outlineSpotShadowColor="@color/move_edit_shadow"
tools:targetApi="28"
android:orientation="vertical" android:orientation="vertical"
android:paddingHorizontal="14dp"
android:paddingBottom="14dp"
android:visibility="@{viewModel.listBean != null &amp;&amp; viewModel.listBean.isMoved ? View.VISIBLE : View.GONE}"> android:visibility="@{viewModel.listBean != null &amp;&amp; viewModel.listBean.isMoved ? View.VISIBLE : View.GONE}">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
android:paddingVertical="12dp"
android:text="移库信息"
android:textColor="@color/move_edit_heading"
android:textSize="15sp"
android:textStyle="bold" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/move_edit_card_border" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:gravity="center_vertical"
android:padding="16dp"> android:orientation="horizontal"
android:paddingVertical="12dp">
<View
android:layout_width="4dp"
android:layout_height="16dp"
android:background="@color/phone_primary" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="移库信息"
android:textColor="@color/phone_text_title"
android:textSize="15sp"
android:textStyle="bold" />
</LinearLayout>
<com.google.android.material.divider.MaterialDivider
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginBottom="12dp"
android:background="@color/phone_divider" />
<!-- 移库人 | 移库时间 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"> android:orientation="horizontal">
<LinearLayout <com.lukouguoji.module_base.ui.weight.phone.PhoneKvItem
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:orientation="vertical"> title='@{"移库人"}'
value="@{viewModel.listBean.opUserDisplay}" />
<TextView <com.lukouguoji.module_base.ui.weight.phone.PhoneKvItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="移库人"
android:textColor="@color/move_edit_label"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:fontFamily="sans-serif-medium"
android:text='@{viewModel.listBean.opUserDisplay == null || viewModel.listBean.opUserDisplay.empty ? "-" : viewModel.listBean.opUserDisplay}'
android:textColor="@color/move_edit_heading"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:layout_marginStart="16dp" title='@{"移库时间"}'
android:orientation="vertical"> value="@{viewModel.listBean.opdate}" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="移库时间"
android:textColor="@color/move_edit_label"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:fontFamily="sans-serif-medium"
android:text='@{viewModel.listBean.opdate == null || viewModel.listBean.opdate.empty ? "-" : viewModel.listBean.opdate}'
android:textColor="@color/move_edit_heading"
android:textSize="15sp" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> <!-- ==================== 卡片三:交接图片(三列加号槽位,长按图片出删除角标) ==================== -->
</LinearLayout>
<!-- ==================== 卡片三:交接图片(Bug #632:白底表头 + 分割线,三列加号槽位,长按图片出删除角标) ==================== -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="12dp"
android:background="@drawable/bg_move_edit_card" android:background="@drawable/bg_phone_card"
android:elevation="2dp" android:orientation="vertical"
android:outlineAmbientShadowColor="@color/move_edit_shadow" android:paddingHorizontal="14dp"
android:outlineSpotShadowColor="@color/move_edit_shadow" android:paddingBottom="14dp">
tools:targetApi="28"
android:orientation="vertical">
<TextView <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingHorizontal="16dp" android:gravity="center_vertical"
android:paddingVertical="12dp" android:orientation="horizontal"
android:paddingVertical="12dp">
<View
android:layout_width="4dp"
android:layout_height="16dp"
android:background="@color/phone_primary" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="交接图片" android:text="交接图片"
android:textColor="@color/move_edit_heading" android:textColor="@color/phone_text_title"
android:textSize="15sp" android:textSize="15sp"
android:textStyle="bold" /> android:textStyle="bold" />
<View </LinearLayout>
<com.google.android.material.divider.MaterialDivider
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="1px" android:layout_height="1px"
android:background="@color/move_edit_card_border" /> android:layout_marginBottom="6dp"
android:background="@color/phone_divider" />
<!-- 格子自带 6dp 外边距,左右各收回 6dp,让图片与上方字段左边缘对齐 -->
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_images" android:id="@+id/rv_images"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="-6dp"
android:overScrollMode="never" android:overScrollMode="never"
android:padding="10dp"
itemLayoutId="@{viewModel.imageItemLayoutId}" itemLayoutId="@{viewModel.imageItemLayoutId}"
viewHolder="@{viewModel.imageItemViewHolder}" viewHolder="@{viewModel.imageItemViewHolder}"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
@@ -469,7 +313,7 @@
android:layout_height="48dp" android:layout_height="48dp"
android:gravity="center" android:gravity="center"
android:text="暂无图片" android:text="暂无图片"
android:textColor="@color/move_edit_hint" android:textColor="@color/phone_text_hint"
android:textSize="14sp" android:textSize="14sp"
android:visibility="@{viewModel.showNoImage ? View.VISIBLE : View.GONE}" /> android:visibility="@{viewModel.showNoImage ? View.VISIBLE : View.GONE}" />
@@ -479,61 +323,65 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="16dp" android:layout_marginTop="12dp"
android:background="@drawable/bg_move_edit_card" android:background="@drawable/bg_phone_card"
android:elevation="2dp" android:orientation="vertical"
android:outlineAmbientShadowColor="@color/move_edit_shadow" android:paddingHorizontal="14dp"
android:outlineSpotShadowColor="@color/move_edit_shadow" android:paddingBottom="14dp">
tools:targetApi="28"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
android:paddingVertical="12dp"
android:text="补充信息"
android:textColor="@color/move_edit_heading"
android:textSize="15sp"
android:textStyle="bold" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/move_edit_card_border" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal" android:orientation="horizontal"
android:padding="16dp"> android:paddingVertical="12dp">
<View
android:layout_width="4dp"
android:layout_height="16dp"
android:background="@color/phone_primary" />
<TextView <TextView
android:layout_width="40dp" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:text="补充信息"
android:textColor="@color/phone_text_title"
android:textSize="15sp"
android:textStyle="bold" />
</LinearLayout>
<com.google.android.material.divider.MaterialDivider
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginBottom="12dp"
android:background="@color/phone_divider" />
<!-- 备注:标签/数值字号与 PhoneKvItem 一致(12sp 灰标签 + 15sp 数值),编辑态可直接输入 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="备注" android:text="备注"
android:textColor="@color/move_edit_form" android:textColor="@color/phone_text_hint"
android:textSize="14sp" /> android:textSize="12sp" />
<EditText <EditText
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="32dp" android:layout_height="wrap_content"
android:layout_marginStart="12dp" android:layout_marginTop="2dp"
android:layout_weight="1"
android:background="@null" android:background="@null"
android:enabled="@{viewModel.pageType != DetailsPageType.Details}" android:enabled="@{viewModel.pageType != DetailsPageType.Details}"
android:hint='@{viewModel.pageType == DetailsPageType.Details ? "--" : "请输入备注"}' android:hint='@{viewModel.pageType == DetailsPageType.Details ? "-" : "请输入备注"}'
android:importantForAutofill="no" android:importantForAutofill="no"
android:inputType="text" android:inputType="text"
android:maxLines="1" android:maxLines="1"
android:minHeight="24dp"
android:padding="0dp" android:padding="0dp"
android:text="@={viewModel.remark}" android:text="@={viewModel.remark}"
android:textColor="@color/move_edit_form" android:textColor="@color/phone_text_title"
android:textColorHint="@color/move_edit_hint" android:textColorHint="@{viewModel.pageType == DetailsPageType.Details ? @color/phone_text_title : @color/phone_text_hint}"
android:textSize="14sp" /> android:textSize="15sp" />
</LinearLayout>
</LinearLayout> </LinearLayout>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 出港移库编辑页(手机版 activity_int_exp_move_edit)专用色值,取自「移库编辑」HTML 原型,仅该页使用 -->
<resources>
<color name="move_edit_accent">#3B6FE0</color> <!-- 主信息卡左侧装饰条 -->
<color name="move_edit_card_border">#E6EBF2</color> <!-- 分区卡描边 / 表头分割线 -->
<color name="move_edit_card_border_main">#DCE4F0</color> <!-- 主信息卡描边 -->
<color name="move_edit_wb_no">#1B3F8F</color> <!-- 运单号 -->
<color name="move_edit_heading">#132239</color> <!-- 卡片标题 / 品名 / 字段值 -->
<color name="move_edit_label">#6B7A8D</color> <!-- 字段标签 -->
<color name="move_edit_status">#5A6B84</color> <!-- 状态文字 -->
<color name="move_edit_form">#1F2A3C</color> <!-- 备注标签与输入 -->
<color name="move_edit_hint">#6B7280</color> <!-- 备注占位文字 -->
<color name="move_edit_tag_red">#D93025</color> <!-- 运单类型标签 -->
<color name="move_edit_dot_pending">#F5A623</color> <!-- 未移交圆点 -->
<color name="move_edit_dot_done">#10B981</color> <!-- 已移交圆点 -->
<!-- 卡片阴影色(原型 rgba(16,30,51,…));系统还会再乘主题阴影透明度,故这里给半透明 -->
<color name="move_edit_shadow_main">#80101E33</color>
<color name="move_edit_shadow">#50101E33</color>
</resources>