From ac30d95812b3faf2c236ae793ce796de8d50993c Mon Sep 17 00:00:00 2001
From: lvmeng <848755140@qq.com>
Date: Tue, 10 Feb 2026 09:48:26 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=BA=E8=84=B8=E8=AF=86?=
=?UTF-8?q?=E5=88=AB=E5=8C=BA=E5=9F=9F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../presentation/MainScreenPresentation.kt | 4 +-
.../presentation/pay/FacePayPresentation.kt | 8 +-
.../dualscreen/view/HollowCircleRectView.kt | 7 +-
.../sw/dualscreen/viewmodel/UserViewModel.kt | 3 +
.../main/res/layout/presentation_face_pay.xml | 169 ++++++++++++------
.../res/layout/presentation_main_screen.xml | 10 +-
6 files changed, 135 insertions(+), 66 deletions(-)
diff --git a/app/src/main/java/com/sw/dualscreen/presentation/MainScreenPresentation.kt b/app/src/main/java/com/sw/dualscreen/presentation/MainScreenPresentation.kt
index 55fe0b5..3166daa 100644
--- a/app/src/main/java/com/sw/dualscreen/presentation/MainScreenPresentation.kt
+++ b/app/src/main/java/com/sw/dualscreen/presentation/MainScreenPresentation.kt
@@ -952,8 +952,8 @@ class MainScreenPresentation(
// val h = 900.dp //684.dp
// val w = 500.dp
// val h = 850.dp
- val w = 720.dp
- val h = 1280.dp
+ val w = 600.dp
+ val h = 1068.dp
//(1024*scale).toInt()
val layoutParams = FrameLayout.LayoutParams(w, h);
// val layoutParams = FrameLayout.LayoutParams(480, 320);
diff --git a/app/src/main/java/com/sw/dualscreen/presentation/pay/FacePayPresentation.kt b/app/src/main/java/com/sw/dualscreen/presentation/pay/FacePayPresentation.kt
index cd19d8d..e85db20 100644
--- a/app/src/main/java/com/sw/dualscreen/presentation/pay/FacePayPresentation.kt
+++ b/app/src/main/java/com/sw/dualscreen/presentation/pay/FacePayPresentation.kt
@@ -325,8 +325,12 @@ class FacePayPresentation(
// layoutParams.height = (456.dp * 1.5).roundToInt()
// layoutParams.width = 1024
// layoutParams.height = 768
- val w = 500.dp
- val h = 850.dp
+// val w = 500.dp
+// val h = 850.dp
+ val w = 600.dp
+ val h = 1068.dp
+// val w = 720.dp
+// val h = 1280.dp
val layoutParams = FrameLayout.LayoutParams(w, h);
previewView.setLayoutParams(layoutParams)
diff --git a/app/src/main/java/com/sw/dualscreen/view/HollowCircleRectView.kt b/app/src/main/java/com/sw/dualscreen/view/HollowCircleRectView.kt
index 8144217..33d85ff 100644
--- a/app/src/main/java/com/sw/dualscreen/view/HollowCircleRectView.kt
+++ b/app/src/main/java/com/sw/dualscreen/view/HollowCircleRectView.kt
@@ -3,6 +3,7 @@ package com.sw.dualscreen.view
import android.content.Context
import android.graphics.*
import android.util.AttributeSet
+import android.util.Log
import android.view.View
import androidx.core.content.ContextCompat
import androidx.core.graphics.toColorInt
@@ -38,7 +39,10 @@ class HollowCircleRectView @JvmOverloads constructor(
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
// 强制View尺寸为精准px值,避免父布局干扰
- setMeasuredDimension(rectWidthPx.toInt(), rectHeightPx.toInt())
+ val rectWidthPxInt = rectWidthPx.toInt()
+ val rectHeightPxInt = rectHeightPx.toInt()
+ Log.d("HollowCircleRectView", "onMeasure: $rectWidthPxInt,$rectHeightPxInt")
+ setMeasuredDimension(rectWidthPxInt, rectHeightPxInt)
}
override fun onDraw(canvas: Canvas) {
@@ -52,6 +56,7 @@ class HollowCircleRectView @JvmOverloads constructor(
val circleX = rectWidthPx / 2 // 水平居中:200dp转px
val circleY = rectHeightPx / 2 // 垂直居中:340dp转px
// 核心修复:用固定半径circleRadiusPx,而非直径/2(避免浮点运算偏差)
+ Log.d("HollowCircleRectView", "onDraw: $circleX,$circleY,$circleRadiusPx")
path.addCircle(circleX, circleY, circleRadiusPx, Path.Direction.CW)
// 3. 填充规则+绘制
diff --git a/app/src/main/java/com/sw/dualscreen/viewmodel/UserViewModel.kt b/app/src/main/java/com/sw/dualscreen/viewmodel/UserViewModel.kt
index 5294587..9636b48 100644
--- a/app/src/main/java/com/sw/dualscreen/viewmodel/UserViewModel.kt
+++ b/app/src/main/java/com/sw/dualscreen/viewmodel/UserViewModel.kt
@@ -402,6 +402,9 @@ class UserViewModel : BaseViewModel() {
block(response.data.toString())
} else {
block("")
+// // TODO: 临时测试----------------
+// block("${System.currentTimeMillis()}")
+// // TODO: 临时测试----------------
}
}
}
diff --git a/app/src/main/res/layout/presentation_face_pay.xml b/app/src/main/res/layout/presentation_face_pay.xml
index e6098d6..49b7c19 100644
--- a/app/src/main/res/layout/presentation_face_pay.xml
+++ b/app/src/main/res/layout/presentation_face_pay.xml
@@ -66,77 +66,128 @@
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+ android:id="@+id/flFace"
+ android:layout_width="400dp"
+ android:layout_height="680dp"
+ android:layout_gravity="center_horizontal"
+ android:layout_marginTop="-85dp">
+ android:layout_height="match_parent"
+ android:visibility="visible" />
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/presentation_main_screen.xml b/app/src/main/res/layout/presentation_main_screen.xml
index 92a755e..0d0bc88 100644
--- a/app/src/main/res/layout/presentation_main_screen.xml
+++ b/app/src/main/res/layout/presentation_main_screen.xml
@@ -109,8 +109,8 @@
android:background="#FFF4FAFF" />
+
+
+
+
+
+