From d028688a88068e2e4b8f128b6e21906475fd3edc Mon Sep 17 00:00:00 2001 From: shixianjie Date: Thu, 27 Feb 2025 10:38:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A1=86=E9=80=89=E5=8A=9F=E8=83=BD=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/prws/common/widget/MarkSizeView.java | 118 ++++++++++----------- 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/libs/common/src/main/java/com/prws/common/widget/MarkSizeView.java b/libs/common/src/main/java/com/prws/common/widget/MarkSizeView.java index 5dd8aaa..ac566a0 100644 --- a/libs/common/src/main/java/com/prws/common/widget/MarkSizeView.java +++ b/libs/common/src/main/java/com/prws/common/widget/MarkSizeView.java @@ -158,6 +158,7 @@ public class MarkSizeView extends View { markPaint.setStyle(Paint.Style.STROKE);//不填充 markPaint.setColor(strokeColor); canvas.drawRect(markedArea, markPaint); + setTranslationZ(8); } if (!isEnabled()) { return; @@ -172,10 +173,8 @@ public class MarkSizeView extends View { //draw button if (isValid && isUp) { - if (markedArea.width() >= CommonUtil.dpToPx(context, 30) && markedArea.height() >= CommonUtil.dpToPx(context, 30)) { - canvas.drawBitmap(confirmBitmap, null, confirmArea, mBitPaint); - canvas.drawBitmap(cancelBitmap, null, cancelArea, mBitPaint); - } + canvas.drawBitmap(confirmBitmap, null, confirmArea, mBitPaint); + canvas.drawBitmap(cancelBitmap, null, cancelArea, mBitPaint); } super.onDraw(canvas); } @@ -216,6 +215,7 @@ public class MarkSizeView extends View { if (mOnClickListener != null) { mOnClickListener.onConfirm(markedArea); } + setTranslationZ(0); } else if (isAreaContainPoint(cancelArea, x, y)) { isButtonClicked = true; isValid = true; @@ -225,6 +225,7 @@ public class MarkSizeView extends View { startX = startY = endX = endY = 0; adjustMark(0, 0); } + setTranslationZ(0); } else if (isAreaContainPoint(ltVer, x, y)) { isAdjustMode = true; adjustNum = 1; @@ -255,64 +256,63 @@ public class MarkSizeView extends View { break; case MotionEvent.ACTION_UP: isUp = true; - if (markedArea.width() >= CommonUtil.dpToPx(context, 30) && markedArea.height() >= CommonUtil.dpToPx(context, 30)) { - if (isButtonClicked) { - break; - } - adjustMark(x, y); - startX = markedArea.left; - startY = markedArea.top; - endX = markedArea.right; - endY = markedArea.bottom; - - if (markedArea.width() > confirmBitmap.getWidth() * 3 + mActionGap * 3 && markedArea.height() > confirmBitmap.getHeight() * 5) { - //显示在选区的内底部 - confirmArea.set(endX - confirmBitmap.getWidth() - mActionGap, - endY - confirmBitmap.getHeight() - mActionGap, - endX - mActionGap, - endY - mActionGap); - - cancelArea.set(endX - 2 * confirmBitmap.getWidth() - mActionGap * 2 - CommonUtil.dpToPx(context, 15), - endY - confirmBitmap.getHeight() - mActionGap, - endX - confirmBitmap.getWidth() - mActionGap * 2 - CommonUtil.dpToPx(context, 15), - endY - mActionGap); - } else if (endY > getHeight() - confirmBitmap.getHeight() * 3) { - //显示在选区的上面 - confirmArea.set(endX - confirmBitmap.getWidth() - mActionGap, - startY - confirmBitmap.getHeight() - mActionGap, - endX - mActionGap, - startY - mActionGap); - - cancelArea.set(endX - 2 * confirmBitmap.getWidth() - mActionGap * 2 - CommonUtil.dpToPx(context, 15), - startY - confirmBitmap.getHeight() - mActionGap, - endX - confirmBitmap.getWidth() - mActionGap * 2 - CommonUtil.dpToPx(context, 15), - startY - mActionGap); - } else { - //显示在选区的下面 - confirmArea.set(endX - confirmBitmap.getWidth() - mActionGap, - endY + mActionGap, - endX - mActionGap, - endY + confirmBitmap.getHeight() + mActionGap); - - cancelArea.set(endX - 2 * confirmBitmap.getWidth() - mActionGap * 2 - CommonUtil.dpToPx(context, 15), - endY + mActionGap, - endX - confirmBitmap.getWidth() - mActionGap * 2 - CommonUtil.dpToPx(context, 15), - endY + confirmBitmap.getHeight() + mActionGap); - } + if (isButtonClicked) { + break; + } + adjustMark(x, y); + startX = markedArea.left; + startY = markedArea.top; + endX = markedArea.right; + endY = markedArea.bottom; + + if (markedArea.width() > confirmBitmap.getWidth() * 3 + mActionGap * 3 && markedArea.height() > confirmBitmap.getHeight() * 5) { + //显示在选区的内底部 + confirmArea.set(endX - confirmBitmap.getWidth() - mActionGap, + endY - confirmBitmap.getHeight() - mActionGap, + endX - mActionGap, + endY - mActionGap); + + cancelArea.set(endX - 2 * confirmBitmap.getWidth() - mActionGap * 2 - CommonUtil.dpToPx(context, 15), + endY - confirmBitmap.getHeight() - mActionGap, + endX - confirmBitmap.getWidth() - mActionGap * 2 - CommonUtil.dpToPx(context, 15), + endY - mActionGap); + } else if (endY > getHeight() - confirmBitmap.getHeight() * 3) { + //显示在选区的上面 + confirmArea.set(endX - confirmBitmap.getWidth() - mActionGap, + startY - confirmBitmap.getHeight() - mActionGap, + endX - mActionGap, + startY - mActionGap); + + cancelArea.set(endX - 2 * confirmBitmap.getWidth() - mActionGap * 2 - CommonUtil.dpToPx(context, 15), + startY - confirmBitmap.getHeight() - mActionGap, + endX - confirmBitmap.getWidth() - mActionGap * 2 - CommonUtil.dpToPx(context, 15), + startY - mActionGap); + } else { + //显示在选区的下面 + confirmArea.set(endX - confirmBitmap.getWidth() - mActionGap, + endY + mActionGap, + endX - mActionGap, + endY + confirmBitmap.getHeight() + mActionGap); + + cancelArea.set(endX - 2 * confirmBitmap.getWidth() - mActionGap * 2 - CommonUtil.dpToPx(context, 15), + endY + mActionGap, + endX - confirmBitmap.getWidth() - mActionGap * 2 - CommonUtil.dpToPx(context, 15), + endY + confirmBitmap.getHeight() + mActionGap); + } - if (cancelArea.left < 0) { - int cancelAreaLeftMargin = Math.abs(cancelArea.left) + mActionGap; - cancelArea.left = cancelArea.left + cancelAreaLeftMargin; - cancelArea.right = cancelArea.right + cancelAreaLeftMargin; - confirmArea.left = confirmArea.left + cancelAreaLeftMargin; - confirmArea.right = confirmArea.right + cancelAreaLeftMargin; - } + if (cancelArea.left < 0) { + int cancelAreaLeftMargin = Math.abs(cancelArea.left) + mActionGap; + cancelArea.left = cancelArea.left + cancelAreaLeftMargin; + cancelArea.right = cancelArea.right + cancelAreaLeftMargin; + confirmArea.left = confirmArea.left + cancelAreaLeftMargin; + confirmArea.right = confirmArea.right + cancelAreaLeftMargin; + } - if (!isValid) { - if (mOnClickListener != null) { - mOnClickListener.onCancel(); - } + if (!isValid) { + if (mOnClickListener != null) { + mOnClickListener.onCancel(); } + setTranslationZ(0); } break; case MotionEvent.ACTION_CANCEL: -- 1.9.0