feat: 国际出港/进港全选按钮新增图标切换与反向同步

- 全选/未选图标替换为新的 vector drawable,抽出 setIVCheckAllImage BindingAdapter 集中管理
- 列表项取消选中或上拉加载新数据后,左下角全选按钮自动反向同步
- 修复 isAllChecked.observeForever 反模式:导致取消单项时全部被取消、单项点击无响应

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-21 18:48:59 +08:00
parent e2bda80e33
commit 07f50fdfc7
84 changed files with 313 additions and 260 deletions

View File

@@ -138,10 +138,11 @@
<ImageView
android:id="@+id/checkIcon"
setIVCheckAllImage="@{viewModel.isAllChecked}"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginLeft="5dp"
android:src="@drawable/img_check_all" />
android:src="@drawable/img_check_all_unchecked" />
</LinearLayout>

View File

@@ -148,10 +148,11 @@
<ImageView
android:id="@+id/checkIcon"
setIVCheckAllImage="@{viewModel.isAllChecked}"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginLeft="5dp"
android:src="@drawable/img_check_all" />
android:src="@drawable/img_check_all_unchecked" />
</LinearLayout>

View File

@@ -150,7 +150,7 @@
android:layout_height="30dp"
android:layout_marginLeft="5dp"
android:onClick="@{viewModel::checkAllClick}"
android:src="@drawable/img_check_all" />
android:src="@drawable/img_check_all_unchecked" />
</androidx.appcompat.widget.LinearLayoutCompat>

View File

@@ -149,9 +149,10 @@
<ImageView
android:id="@+id/checkIcon"
setIVCheckAllImage="@{viewModel.isAllChecked}"
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/img_check_all" />
android:src="@drawable/img_check_all_unchecked" />
<TextView
android:layout_width="wrap_content"

View File

@@ -151,10 +151,11 @@
<ImageView
android:id="@+id/checkIcon"
setIVCheckAllImage="@{viewModel.isAllChecked}"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="5dp"
android:src="@drawable/img_check_all" />
android:src="@drawable/img_check_all_unchecked" />
<TextView
android:layout_width="wrap_content"

View File

@@ -128,10 +128,11 @@
<ImageView
android:id="@+id/checkIcon"
setIVCheckAllImage="@{viewModel.isAllChecked}"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="5dp"
android:src="@drawable/img_check_all" />
android:src="@drawable/img_check_all_unchecked" />
<TextView
android:layout_width="wrap_content"

View File

@@ -152,10 +152,11 @@
<ImageView
android:id="@+id/checkIcon"
setIVCheckAllImage="@{viewModel.isAllChecked}"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginLeft="5dp"
android:src="@drawable/img_check_all" />
android:src="@drawable/img_check_all_unchecked" />
</LinearLayout>
<!-- 统计信息 -->

View File

@@ -130,10 +130,11 @@
<ImageView
android:id="@+id/checkIcon"
setIVCheckAllImage="@{viewModel.isAllChecked}"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="5dp"
android:src="@drawable/img_check_all" />
android:src="@drawable/img_check_all_unchecked" />
<TextView
android:layout_width="wrap_content"

View File

@@ -162,10 +162,11 @@
<ImageView
android:id="@+id/checkIcon"
setIVCheckAllImage="@{viewModel.isAllChecked}"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="5dp"
android:src="@drawable/img_check_all" />
android:src="@drawable/img_check_all_unchecked" />
<TextView
android:layout_width="wrap_content"

View File

@@ -152,10 +152,11 @@
<ImageView
android:id="@+id/checkIcon"
setIVCheckAllImage="@{viewModel.isAllChecked}"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginEnd="5dp"
android:src="@drawable/img_check_all" />
android:src="@drawable/img_check_all_unchecked" />
<TextView
android:layout_width="wrap_content"

View File

@@ -175,7 +175,7 @@
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginLeft="2dp"
android:src="@mipmap/gjc_check_icon" />
android:src="@drawable/img_check_all_unchecked" />
<LinearLayout
android:layout_width="0dp"