From daa92ba0e1052777ebe7c60d995f5162ee4243cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=8B=A4=E6=B0=91?= Date: Tue, 14 Apr 2026 22:13:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(spraying-result):=20=E6=B7=BB=E5=8A=A0OCR?= =?UTF-8?q?=E8=AF=86=E5=88=AB=E7=BB=93=E6=9E=9C=E6=98=BE=E7=A4=BA=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入Paint类用于文本样式处理 - 添加status变量控制识别状态显示 - 实现setStatusImage方法设置OCR识别结果UI - 根据识别结果更新任务标题和状态图标 - 对不合格项目添加删除线样式效果 - 在布局文件中添加状态显示相关控件ID --- .../brain/glass/ui/SprayingResultActivity.kt | 38 ++++++++++++++----- .../res/layout/activity_spraying_result.xml | 4 ++ 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/nova/brain/glass/ui/SprayingResultActivity.kt b/app/src/main/java/com/nova/brain/glass/ui/SprayingResultActivity.kt index 798a976..9c4238c 100644 --- a/app/src/main/java/com/nova/brain/glass/ui/SprayingResultActivity.kt +++ b/app/src/main/java/com/nova/brain/glass/ui/SprayingResultActivity.kt @@ -2,6 +2,7 @@ package com.nova.brain.glass.ui import android.content.Intent import android.graphics.BitmapFactory +import android.graphics.Paint import android.os.Environment import android.view.WindowManager import androidx.recyclerview.widget.RecyclerView @@ -29,7 +30,7 @@ class SprayingResultActivity : override fun fullscreen(): Boolean = true override fun getRecyclerOrientation(): Int = RecyclerView.HORIZONTAL - + private var status = true private val listener = object : OfflineCmdListener { override fun onOfflineCmd(cmd: String) { runOnUiThread { @@ -63,9 +64,11 @@ class SprayingResultActivity : GlassSdk.getGlassMediaService() ?.takePhoto(PhotoResolution.RESOLUTION_480P, file.absolutePath) } - fun rest(){ + + fun rest() { } + private val photoCallbackId = UUID.randomUUID().toString() private val mPhotoFileCallback = object : PhotoFileCallback.Stub() { @@ -109,9 +112,22 @@ class SprayingResultActivity : GlassSdk.getGlassMediaService()?.addPhotoCallback(mPhotoFileCallback) intent.getStringExtra("path")?.apply { binding.iv.setImageBitmap(BitmapFactory.decodeFile(this)) + setStatusImage() } } - +fun setStatusImage(){ + binding.tvTaskHeader.text = if (status) "OCR识别结果:合格" else "OCR识别结果:不合格" + binding.status.setImageResource(if (status) R.mipmap.ocr_true else R.mipmap.ocr_false) + if (status){ + binding.value1.paintFlags = binding.value1.paintFlags and Paint.STRIKE_THRU_TEXT_FLAG.inv() + binding.value2.paintFlags = binding.value2.paintFlags and Paint.STRIKE_THRU_TEXT_FLAG.inv() + binding.value3.paintFlags = binding.value3.paintFlags and Paint.STRIKE_THRU_TEXT_FLAG.inv() + }else{ + binding.value1.paintFlags = binding.value1.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG + binding.value2.paintFlags = binding.value2.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG + binding.value3.paintFlags = binding.value3.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG + } +} override fun onDestroy() { super.onDestroy() OfflineCmdServiceHelper.removeOnLineListener(listener) @@ -122,15 +138,17 @@ class SprayingResultActivity : private val adapter = object : CommonPagedAdapter(R.layout.item_menu) { override fun convert(holder: ViewHolder, item: ItemItem, position: Int) { holder.setText( + when (position) { + 1 -> R.id.text + else -> R.id.text2 + }, item.text + ) + .setVisibility( when (position) { - 1 -> R.id.text - else -> R.id.text2 - }, item.text + 1 -> R.id.da + else -> R.id.xiao + }, true ) - .setVisibility(when (position) { - 1 -> R.id.da - else -> R.id.xiao - },true) .setClickListener(R.id.photo) { when (item.text) { "继续拍摄" -> { diff --git a/app/src/main/res/layout/activity_spraying_result.xml b/app/src/main/res/layout/activity_spraying_result.xml index 71d50e0..a00e6b2 100644 --- a/app/src/main/res/layout/activity_spraying_result.xml +++ b/app/src/main/res/layout/activity_spraying_result.xml @@ -62,6 +62,7 @@ android:orientation="vertical">