From ccd0d719b2aab18d1a610874b56ee489269f4931 Mon Sep 17 00:00:00 2001 From: Fish Date: Wed, 21 Jun 2023 10:15:29 +0300 Subject: [PATCH 01/40] RTL SUPPORT --- .idea/gradle.xml | 3 +-- .idea/misc.xml | 2 +- .../hyy/highlightpro/view/MaskContainer.kt | 22 ++++++++++++++----- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index e65aa0d..c6c0321 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -7,7 +7,7 @@ - diff --git a/.idea/misc.xml b/.idea/misc.xml index ab16155..d8ea9c3 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -9,7 +9,7 @@ - + diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 517b0a8..4bf9edd 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -9,6 +9,7 @@ import android.view.KeyEvent import android.view.View import android.widget.FrameLayout import androidx.core.graphics.toColorInt +import androidx.core.view.ViewCompat import androidx.core.view.children import com.hyy.highlightpro.parameter.Constraints import com.hyy.highlightpro.parameter.HighlightParameter @@ -152,8 +153,14 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu parameter.constraints.forEach { when (it) { Constraints.StartToStartOfHighlight -> { - layoutParams.leftMargin = (highLightRect.left + margin.start).toInt() - gravities.add(Gravity.START) + if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR) { + layoutParams.leftMargin = (highLightRect.left + margin.start).toInt() + gravities.add(Gravity.START) + } else { + layoutParams.rightMargin = + (rootWidth - highLightRect.right + margin.end).toInt() + gravities.add(Gravity.START) + } } Constraints.EndToStartOfHighlight -> { @@ -170,9 +177,14 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu } Constraints.EndToEndOfHighlight -> { - layoutParams.rightMargin = - (rootWidth - highLightRect.right + margin.end).toInt() - gravities.add(Gravity.END) + if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR) { + layoutParams.rightMargin = + (rootWidth - highLightRect.right + margin.end).toInt() + gravities.add(Gravity.END) + } else { + layoutParams.leftMargin = (highLightRect.left + margin.start).toInt() + gravities.add(Gravity.END) + } } Constraints.TopToTopOfHighlight -> { From 0bfc6e8e97d7ec756987c36e43f71d17b9e87e54 Mon Sep 17 00:00:00 2001 From: Espfish Date: Tue, 17 Oct 2023 16:07:23 +0300 Subject: [PATCH 02/40] ku-layout-dir-fix --- .idea/misc.xml | 1 - .../src/main/java/com/hyy/highlightpro/view/MaskContainer.kt | 5 +++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index d8ea9c3..14ccb3b 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,3 @@ - From fdceaeab4c0650a9aaf5b39362f97ea56ce67d17 Mon Sep 17 00:00:00 2001 From: Mohamad Tabbara Date: Fri, 5 Apr 2024 14:09:23 +0300 Subject: [PATCH 05/40] Fix build for library --- app/build.gradle | 5 ++--- .../com/hyy/sample/ui/util/RecyclerViewExt.kt | 16 +++++++++++++--- .../java/com/hyy/sample/ui/view/TriangleView.kt | 10 +++++----- highlight_pro/build.gradle | 4 ++-- .../com/hyy/highlightpro/view/MaskContainer.kt | 2 +- 5 files changed, 23 insertions(+), 14 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index bf231e7..a3bfdea 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,13 +5,12 @@ plugins { } android { - compileSdkVersion 33 - buildToolsVersion "29.0.3" + compileSdk 34 defaultConfig { applicationId "com.hyy.sample" minSdkVersion 21 - targetSdkVersion 33 + targetSdkVersion 34 versionCode 1 versionName "1.0" diff --git a/app/src/main/java/com/hyy/sample/ui/util/RecyclerViewExt.kt b/app/src/main/java/com/hyy/sample/ui/util/RecyclerViewExt.kt index 54a412b..f4515f2 100644 --- a/app/src/main/java/com/hyy/sample/ui/util/RecyclerViewExt.kt +++ b/app/src/main/java/com/hyy/sample/ui/util/RecyclerViewExt.kt @@ -31,15 +31,25 @@ fun RecyclerView.setOnItemClickAndLongClickedListener( return false } - override fun onScroll(e1: MotionEvent, e2: MotionEvent, distanceX: Float, distanceY: Float): Boolean { - return false + override fun onScroll( + e1: MotionEvent?, + e2: MotionEvent, + distanceX: Float, + distanceY: Float + ): Boolean { + TODO("Not yet implemented") } override fun onLongPress(e: MotionEvent) { } - override fun onFling(e1: MotionEvent, e2: MotionEvent, velocityX: Float, velocityY: Float): Boolean { + override fun onFling( + e1: MotionEvent?, + e2: MotionEvent, + velocityX: Float, + velocityY: Float + ): Boolean { return false } diff --git a/app/src/main/java/com/hyy/sample/ui/view/TriangleView.kt b/app/src/main/java/com/hyy/sample/ui/view/TriangleView.kt index bb69f60..50aa237 100644 --- a/app/src/main/java/com/hyy/sample/ui/view/TriangleView.kt +++ b/app/src/main/java/com/hyy/sample/ui/view/TriangleView.kt @@ -40,7 +40,7 @@ class TriangleView constructor( typedArray.recycle() } - override fun onDraw(canvas: Canvas?) { + override fun onDraw(canvas: Canvas) { super.onDraw(canvas) path.reset() when(direction) { @@ -49,28 +49,28 @@ class TriangleView constructor( path.lineTo(measuredWidth/2f, 0f.dp) path.lineTo(measuredWidth*1f, measuredHeight*1f) path.close() - canvas?.drawPath(path, paint) + canvas.drawPath(path, paint) } DIR.BOTTOM.dir -> { path.moveTo(0f, 0f) path.lineTo(measuredWidth/2f, measuredHeight*1f) path.lineTo(measuredWidth*1f, 0f) path.close() - canvas?.drawPath(path, paint) + canvas.drawPath(path, paint) } DIR.LEFT.dir -> { path.moveTo(measuredWidth*1f, 0f) path.lineTo(0f, measuredHeight/2f) path.lineTo(measuredWidth*1f, measuredHeight*1f) path.close() - canvas?.drawPath(path, paint) + canvas.drawPath(path, paint) } DIR.RIGHT.dir -> { path.moveTo(0f, 0f) path.lineTo(measuredWidth*1f, measuredHeight/2f) path.lineTo(0f, measuredHeight*1f) path.close() - canvas?.drawPath(path, paint) + canvas.drawPath(path, paint) } } diff --git a/highlight_pro/build.gradle b/highlight_pro/build.gradle index fa74a8f..4e84c01 100644 --- a/highlight_pro/build.gradle +++ b/highlight_pro/build.gradle @@ -30,8 +30,8 @@ android { compileSdkVersion 31 defaultConfig { - minSdkVersion 19 - targetSdkVersion 31 + minSdkVersion 21 + targetSdkVersion 34 versionCode 5 versionName "1.4.0" diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index e114296..064f3f7 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -161,7 +161,7 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu val margin = parameter.marginOffset val highLightRect = parameter.rect val gravities = mutableListOf() - val locale = ConfigurationCompat.getLocales(resources.configuration).get(0).toLanguageTag() + val locale = ConfigurationCompat.getLocales(resources.configuration).get(0)?.toLanguageTag() parameter.constraints.forEach { when (it) { Constraints.StartToStartOfHighlight -> { From 550223d6bc590997afe5080b02622df70d791721 Mon Sep 17 00:00:00 2001 From: Jinane Date: Sun, 7 Apr 2024 15:46:57 +0300 Subject: [PATCH 06/40] fixed center horizontal width --- .../src/main/java/com/hyy/highlightpro/view/MaskContainer.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 064f3f7..293c336 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -231,7 +231,7 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu gravities.add(Gravity.START) view.doOnPreDraw { tipsView -> layoutParams.leftMargin = - (highLightRect.left + highLightRect.width() / 2f - tipsView.width / 2f).toInt() + (highLightRect.left + highLightRect.width() / 2f - tipsView.width).toInt() view.layoutParams = layoutParams } } else { From 3268964e5c4565e028804e1fe7f880903e9da234 Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 11:45:36 +0300 Subject: [PATCH 07/40] fixed center horizontal width for ltr --- .../java/com/hyy/highlightpro/view/MaskContainer.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 293c336..b9c9cfe 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -224,19 +224,21 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu Constraints.CenterHorizontalOfHighlight -> { val width = layoutParams.width - + val rectLine = if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { + highLightRect.right + } else highLightRect.left if (width <= 0) { layoutParams.leftMargin = - (highLightRect.left + highLightRect.width() / 2f).toInt() + (rectLine + highLightRect.width() / 2f).toInt() gravities.add(Gravity.START) view.doOnPreDraw { tipsView -> layoutParams.leftMargin = - (highLightRect.left + highLightRect.width() / 2f - tipsView.width).toInt() + (rectLine + highLightRect.width() / 2f - tipsView.width).toInt() view.layoutParams = layoutParams } } else { layoutParams.leftMargin = - (highLightRect.left + highLightRect.width() / 2f - width / 2f).toInt() + (rectLine + highLightRect.width() / 2f - width ).toInt() gravities.add(Gravity.START) } } From 292650945694f903311f8556ed64424b3ce1afbf Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 11:52:52 +0300 Subject: [PATCH 08/40] fixed center horizontal width for ltr --- .../src/main/java/com/hyy/highlightpro/view/MaskContainer.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index b9c9cfe..d996f9b 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -226,7 +226,7 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu val width = layoutParams.width val rectLine = if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { highLightRect.right - } else highLightRect.left + } else highLightRect.right if (width <= 0) { layoutParams.leftMargin = (rectLine + highLightRect.width() / 2f).toInt() From b370cfa33f3add507989b1d37507ae6e122c363f Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 12:00:49 +0300 Subject: [PATCH 09/40] fixed margin --- .../hyy/highlightpro/view/MaskContainer.kt | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index d996f9b..77abe9d 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -226,15 +226,26 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu val width = layoutParams.width val rectLine = if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { highLightRect.right - } else highLightRect.right + } else highLightRect.left if (width <= 0) { - layoutParams.leftMargin = - (rectLine + highLightRect.width() / 2f).toInt() - gravities.add(Gravity.START) - view.doOnPreDraw { tipsView -> + if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { + layoutParams.rightMargin = + (rectLine + highLightRect.width() / 2f).toInt() + gravities.add(Gravity.START) + view.doOnPreDraw { tipsView -> + layoutParams.rightMargin = + (rectLine + highLightRect.width() / 2f - tipsView.width).toInt() + view.layoutParams = layoutParams + } + } else { layoutParams.leftMargin = - (rectLine + highLightRect.width() / 2f - tipsView.width).toInt() - view.layoutParams = layoutParams + (rectLine + highLightRect.width() / 2f).toInt() + gravities.add(Gravity.START) + view.doOnPreDraw { tipsView -> + layoutParams.leftMargin = + (rectLine + highLightRect.width() / 2f - tipsView.width).toInt() + view.layoutParams = layoutParams + } } } else { layoutParams.leftMargin = From fc01f964a2d0c3a76d020e6e843e33f9deb8ffe2 Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 12:56:44 +0300 Subject: [PATCH 10/40] fixed margin for else --- .../java/com/hyy/highlightpro/view/MaskContainer.kt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 77abe9d..d909692 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -248,9 +248,15 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu } } } else { - layoutParams.leftMargin = - (rectLine + highLightRect.width() / 2f - width ).toInt() - gravities.add(Gravity.START) + if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { + layoutParams.rightMargin = + (rectLine + highLightRect.width() / 2f - width).toInt() + gravities.add(Gravity.START) + } else { + layoutParams.leftMargin = + (rectLine + highLightRect.width() / 2f - width).toInt() + gravities.add(Gravity.START) + } } } From 215d29370dcc1b6e9f3d6c79c69ea365887f5e6e Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 13:05:15 +0300 Subject: [PATCH 11/40] changed gravity --- .../src/main/java/com/hyy/highlightpro/view/MaskContainer.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index d909692..86051ae 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -231,7 +231,7 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { layoutParams.rightMargin = (rectLine + highLightRect.width() / 2f).toInt() - gravities.add(Gravity.START) + gravities.add(Gravity.END) view.doOnPreDraw { tipsView -> layoutParams.rightMargin = (rectLine + highLightRect.width() / 2f - tipsView.width).toInt() @@ -251,7 +251,7 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { layoutParams.rightMargin = (rectLine + highLightRect.width() / 2f - width).toInt() - gravities.add(Gravity.START) + gravities.add(Gravity.END) } else { layoutParams.leftMargin = (rectLine + highLightRect.width() / 2f - width).toInt() From 9e18f7eb13d361b5b781d27ba788c31ac53077a8 Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 13:23:19 +0300 Subject: [PATCH 12/40] testing --- .../hyy/highlightpro/view/MaskContainer.kt | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 86051ae..0088b0b 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -224,37 +224,33 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu Constraints.CenterHorizontalOfHighlight -> { val width = layoutParams.width - val rectLine = if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { - highLightRect.right - } else highLightRect.left if (width <= 0) { if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { layoutParams.rightMargin = - (rectLine + highLightRect.width() / 2f).toInt() - gravities.add(Gravity.END) + (highLightRect.right + highLightRect.width() / 2f).toInt() + gravities.add(Gravity.START) view.doOnPreDraw { tipsView -> layoutParams.rightMargin = - (rectLine + highLightRect.width() / 2f - tipsView.width).toInt() - view.layoutParams = layoutParams + (highLightRect.right + highLightRect.width() / 2f - tipsView.width).toInt() } } else { layoutParams.leftMargin = - (rectLine + highLightRect.width() / 2f).toInt() + (highLightRect.left + highLightRect.width() / 2f).toInt() gravities.add(Gravity.START) view.doOnPreDraw { tipsView -> layoutParams.leftMargin = - (rectLine + highLightRect.width() / 2f - tipsView.width).toInt() - view.layoutParams = layoutParams + (highLightRect.left + highLightRect.width() / 2f - tipsView.width).toInt() } + view.layoutParams = layoutParams } } else { if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { layoutParams.rightMargin = - (rectLine + highLightRect.width() / 2f - width).toInt() - gravities.add(Gravity.END) + (highLightRect.right + highLightRect.width() / 2f - width).toInt() + gravities.add(Gravity.START) } else { layoutParams.leftMargin = - (rectLine + highLightRect.width() / 2f - width).toInt() + (highLightRect.left + highLightRect.width() / 2f - width).toInt() gravities.add(Gravity.START) } } From 9c10d1c96f3aa8300c76515a1dadd75e15795585 Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 13:54:58 +0300 Subject: [PATCH 13/40] testing margin --- .../src/main/java/com/hyy/highlightpro/view/MaskContainer.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 0088b0b..6d338b5 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -228,7 +228,7 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { layoutParams.rightMargin = (highLightRect.right + highLightRect.width() / 2f).toInt() - gravities.add(Gravity.START) + gravities.add(Gravity.END) view.doOnPreDraw { tipsView -> layoutParams.rightMargin = (highLightRect.right + highLightRect.width() / 2f - tipsView.width).toInt() @@ -247,7 +247,7 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { layoutParams.rightMargin = (highLightRect.right + highLightRect.width() / 2f - width).toInt() - gravities.add(Gravity.START) + gravities.add(Gravity.END) } else { layoutParams.leftMargin = (highLightRect.left + highLightRect.width() / 2f - width).toInt() From 253b9b87ceb08a0df5847bd255869613ace9af97 Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 14:03:23 +0300 Subject: [PATCH 14/40] flipped ifs --- .../hyy/highlightpro/view/MaskContainer.kt | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 6d338b5..ba65731 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -226,14 +226,6 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu val width = layoutParams.width if (width <= 0) { if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { - layoutParams.rightMargin = - (highLightRect.right + highLightRect.width() / 2f).toInt() - gravities.add(Gravity.END) - view.doOnPreDraw { tipsView -> - layoutParams.rightMargin = - (highLightRect.right + highLightRect.width() / 2f - tipsView.width).toInt() - } - } else { layoutParams.leftMargin = (highLightRect.left + highLightRect.width() / 2f).toInt() gravities.add(Gravity.START) @@ -242,16 +234,24 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu (highLightRect.left + highLightRect.width() / 2f - tipsView.width).toInt() } view.layoutParams = layoutParams + } else { + layoutParams.rightMargin = + (highLightRect.right + highLightRect.width() / 2f).toInt() + gravities.add(Gravity.START) + view.doOnPreDraw { tipsView -> + layoutParams.rightMargin = + (highLightRect.right + highLightRect.width() / 2f - tipsView.width).toInt() + } } } else { if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { - layoutParams.rightMargin = - (highLightRect.right + highLightRect.width() / 2f - width).toInt() - gravities.add(Gravity.END) - } else { layoutParams.leftMargin = (highLightRect.left + highLightRect.width() / 2f - width).toInt() gravities.add(Gravity.START) + } else { + layoutParams.rightMargin = + (highLightRect.right + highLightRect.width() / 2f - width).toInt() + gravities.add(Gravity.START) } } } From e6a9d1e600553ca8e158a92f4c5902afb972699e Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 14:24:25 +0300 Subject: [PATCH 15/40] reverted changes --- .../hyy/highlightpro/view/MaskContainer.kt | 33 +++++-------------- 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index ba65731..c72aadd 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -224,35 +224,20 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu Constraints.CenterHorizontalOfHighlight -> { val width = layoutParams.width + if (width <= 0) { - if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { + layoutParams.leftMargin = + (highLightRect.left + highLightRect.width() / 2f).toInt() + gravities.add(Gravity.START) + view.doOnPreDraw { tipsView -> layoutParams.leftMargin = - (highLightRect.left + highLightRect.width() / 2f).toInt() - gravities.add(Gravity.START) - view.doOnPreDraw { tipsView -> - layoutParams.leftMargin = - (highLightRect.left + highLightRect.width() / 2f - tipsView.width).toInt() - } + (highLightRect.left + highLightRect.width() / 2f - tipsView.width).toInt() view.layoutParams = layoutParams - } else { - layoutParams.rightMargin = - (highLightRect.right + highLightRect.width() / 2f).toInt() - gravities.add(Gravity.START) - view.doOnPreDraw { tipsView -> - layoutParams.rightMargin = - (highLightRect.right + highLightRect.width() / 2f - tipsView.width).toInt() - } } } else { - if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { - layoutParams.leftMargin = - (highLightRect.left + highLightRect.width() / 2f - width).toInt() - gravities.add(Gravity.START) - } else { - layoutParams.rightMargin = - (highLightRect.right + highLightRect.width() / 2f - width).toInt() - gravities.add(Gravity.START) - } + layoutParams.leftMargin = + (highLightRect.left + highLightRect.width() / 2f - width).toInt() + gravities.add(Gravity.START) } } From 9d9ec3401f2a3c376b53565a67be6547eb720d35 Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 14:40:10 +0300 Subject: [PATCH 16/40] added if for ltr --- .../hyy/highlightpro/view/MaskContainer.kt | 38 +++++++++++++------ 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index c72aadd..0aeba59 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -224,20 +224,36 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu Constraints.CenterHorizontalOfHighlight -> { val width = layoutParams.width - - if (width <= 0) { - layoutParams.leftMargin = - (highLightRect.left + highLightRect.width() / 2f).toInt() - gravities.add(Gravity.START) - view.doOnPreDraw { tipsView -> + if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { + if (width <= 0) { layoutParams.leftMargin = - (highLightRect.left + highLightRect.width() / 2f - tipsView.width).toInt() - view.layoutParams = layoutParams + (highLightRect.left + highLightRect.width() / 2f).toInt() + gravities.add(Gravity.START) + view.doOnPreDraw { tipsView -> + layoutParams.leftMargin = + (highLightRect.left + highLightRect.width() / 2f - tipsView.width).toInt() + view.layoutParams = layoutParams + } + } else { + layoutParams.leftMargin = + (highLightRect.left + highLightRect.width() / 2f - width).toInt() + gravities.add(Gravity.START) } } else { - layoutParams.leftMargin = - (highLightRect.left + highLightRect.width() / 2f - width).toInt() - gravities.add(Gravity.START) + if (width <= 0) { + layoutParams.rightMargin = + (highLightRect.right + highLightRect.width() / 2f).toInt() + gravities.add(Gravity.START) + view.doOnPreDraw { tipsView -> + layoutParams.rightMargin = + (highLightRect.right + highLightRect.width() / 2f - tipsView.width).toInt() + view.layoutParams = layoutParams + } + } else { + layoutParams.rightMargin = + (highLightRect.right + highLightRect.width() / 2f - width).toInt() + gravities.add(Gravity.START) + } } } From b4906a061b3ed091ba8e689531af39978033ca64 Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 14:49:33 +0300 Subject: [PATCH 17/40] changed - --- .../src/main/java/com/hyy/highlightpro/view/MaskContainer.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 0aeba59..5ab50f0 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -246,12 +246,12 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu gravities.add(Gravity.START) view.doOnPreDraw { tipsView -> layoutParams.rightMargin = - (highLightRect.right + highLightRect.width() / 2f - tipsView.width).toInt() + (tipsView.width - highLightRect.right + highLightRect.width() / 2f).toInt() view.layoutParams = layoutParams } } else { layoutParams.rightMargin = - (highLightRect.right + highLightRect.width() / 2f - width).toInt() + (width - highLightRect.right + highLightRect.width() / 2f).toInt() gravities.add(Gravity.START) } } From 530c674b1bed40d1bc84ace7596ae896e6c59560 Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 14:56:18 +0300 Subject: [PATCH 18/40] multiplied width by 2 --- .../src/main/java/com/hyy/highlightpro/view/MaskContainer.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 5ab50f0..25a135d 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -246,12 +246,12 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu gravities.add(Gravity.START) view.doOnPreDraw { tipsView -> layoutParams.rightMargin = - (tipsView.width - highLightRect.right + highLightRect.width() / 2f).toInt() + (tipsView.width * 2 - highLightRect.right + highLightRect.width() / 2f).toInt() view.layoutParams = layoutParams } } else { layoutParams.rightMargin = - (width - highLightRect.right + highLightRect.width() / 2f).toInt() + (width * 2 - highLightRect.right + highLightRect.width() / 2f).toInt() gravities.add(Gravity.START) } } From dd83e4bf00c6086a9d63fa0f5ce228c94cdf8736 Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 15:05:19 +0300 Subject: [PATCH 19/40] flipped subtraction --- .../src/main/java/com/hyy/highlightpro/view/MaskContainer.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 25a135d..2d1bd51 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -246,12 +246,12 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu gravities.add(Gravity.START) view.doOnPreDraw { tipsView -> layoutParams.rightMargin = - (tipsView.width * 2 - highLightRect.right + highLightRect.width() / 2f).toInt() + (highLightRect.right + highLightRect.width() / 2f - tipsView.width * 2).toInt() view.layoutParams = layoutParams } } else { layoutParams.rightMargin = - (width * 2 - highLightRect.right + highLightRect.width() / 2f).toInt() + (highLightRect.right + highLightRect.width() / 2f - width * 2).toInt() gravities.add(Gravity.START) } } From 0c6bcc8ba5ba297e1ecf0cb154f733724fd6f7aa Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 15:11:11 +0300 Subject: [PATCH 20/40] divided width by 2 --- .../src/main/java/com/hyy/highlightpro/view/MaskContainer.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 2d1bd51..bb3de60 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -246,12 +246,12 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu gravities.add(Gravity.START) view.doOnPreDraw { tipsView -> layoutParams.rightMargin = - (highLightRect.right + highLightRect.width() / 2f - tipsView.width * 2).toInt() + (highLightRect.right + highLightRect.width() / 2f - tipsView.width / 2f).toInt() view.layoutParams = layoutParams } } else { layoutParams.rightMargin = - (highLightRect.right + highLightRect.width() / 2f - width * 2).toInt() + (highLightRect.right + highLightRect.width() / 2f - width / 2f).toInt() gravities.add(Gravity.START) } } From eb0811e7c6bb35804abb4e3f8638f0455f5a6b68 Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 15:28:31 +0300 Subject: [PATCH 21/40] added subtraction by rootWidth --- .../main/java/com/hyy/highlightpro/view/MaskContainer.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index bb3de60..ab84f01 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -242,16 +242,16 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu } else { if (width <= 0) { layoutParams.rightMargin = - (highLightRect.right + highLightRect.width() / 2f).toInt() + (rootWidth - (highLightRect.right + highLightRect.width() / 2f)).toInt() gravities.add(Gravity.START) view.doOnPreDraw { tipsView -> layoutParams.rightMargin = - (highLightRect.right + highLightRect.width() / 2f - tipsView.width / 2f).toInt() + (rootWidth - (highLightRect.right + highLightRect.width() / 2f - tipsView.width)).toInt() view.layoutParams = layoutParams } } else { layoutParams.rightMargin = - (highLightRect.right + highLightRect.width() / 2f - width / 2f).toInt() + (rootWidth - (highLightRect.right + highLightRect.width() / 2f - width)).toInt() gravities.add(Gravity.START) } } From 3ead28951d7f21a49f165977b5b08ad7d60028c0 Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 15:38:23 +0300 Subject: [PATCH 22/40] added subtraction by rootWidth hb --- .../src/main/java/com/hyy/highlightpro/view/MaskContainer.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index ab84f01..80be165 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -246,12 +246,12 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu gravities.add(Gravity.START) view.doOnPreDraw { tipsView -> layoutParams.rightMargin = - (rootWidth - (highLightRect.right + highLightRect.width() / 2f - tipsView.width)).toInt() + (rootWidth - (highLightRect.right + highLightRect.width() / 2f) - tipsView.width).toInt() view.layoutParams = layoutParams } } else { layoutParams.rightMargin = - (rootWidth - (highLightRect.right + highLightRect.width() / 2f - width)).toInt() + (rootWidth - (highLightRect.right + highLightRect.width() / 2f) - width).toInt() gravities.add(Gravity.START) } } From d5b6aec7d6128f68f3d59ab036beaef0b4f9d4c9 Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 15:43:23 +0300 Subject: [PATCH 23/40] added subtraction by rootWidth 124 --- .../main/java/com/hyy/highlightpro/view/MaskContainer.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 80be165..d0c6360 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -242,16 +242,16 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu } else { if (width <= 0) { layoutParams.rightMargin = - (rootWidth - (highLightRect.right + highLightRect.width() / 2f)).toInt() + ((highLightRect.right + highLightRect.width() / 2f) - rootWidth).toInt() gravities.add(Gravity.START) view.doOnPreDraw { tipsView -> layoutParams.rightMargin = - (rootWidth - (highLightRect.right + highLightRect.width() / 2f) - tipsView.width).toInt() + ((highLightRect.right + highLightRect.width() / 2f) - tipsView.width - rootWidth).toInt() view.layoutParams = layoutParams } } else { layoutParams.rightMargin = - (rootWidth - (highLightRect.right + highLightRect.width() / 2f) - width).toInt() + ((highLightRect.right + highLightRect.width() / 2f) - width - rootWidth).toInt() gravities.add(Gravity.START) } } From 09da3684976192eaedf94e0af0651bfed303b76d Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 15:54:19 +0300 Subject: [PATCH 24/40] added rootwidth --- .../main/java/com/hyy/highlightpro/view/MaskContainer.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index d0c6360..4b80302 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -242,16 +242,16 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu } else { if (width <= 0) { layoutParams.rightMargin = - ((highLightRect.right + highLightRect.width() / 2f) - rootWidth).toInt() + (highLightRect.right + highLightRect.width() / 2f).toInt() gravities.add(Gravity.START) view.doOnPreDraw { tipsView -> layoutParams.rightMargin = - ((highLightRect.right + highLightRect.width() / 2f) - tipsView.width - rootWidth).toInt() + (rootWidth - highLightRect.right + highLightRect.width() / 2f - tipsView.width).toInt() view.layoutParams = layoutParams } } else { layoutParams.rightMargin = - ((highLightRect.right + highLightRect.width() / 2f) - width - rootWidth).toInt() + (highLightRect.right + highLightRect.width() / 2f - width).toInt() gravities.add(Gravity.START) } } From 4146555c373228bf305dcc9e5a0ef41378a6832f Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 16:07:21 +0300 Subject: [PATCH 25/40] changed gravity --- .../src/main/java/com/hyy/highlightpro/view/MaskContainer.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 4b80302..328abc7 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -243,7 +243,7 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu if (width <= 0) { layoutParams.rightMargin = (highLightRect.right + highLightRect.width() / 2f).toInt() - gravities.add(Gravity.START) + gravities.add(Gravity.END) view.doOnPreDraw { tipsView -> layoutParams.rightMargin = (rootWidth - highLightRect.right + highLightRect.width() / 2f - tipsView.width).toInt() @@ -252,7 +252,7 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu } else { layoutParams.rightMargin = (highLightRect.right + highLightRect.width() / 2f - width).toInt() - gravities.add(Gravity.START) + gravities.add(Gravity.END) } } } From 0f63551305fc83a2d1ff955268405a5594f314ce Mon Sep 17 00:00:00 2001 From: Jinane Date: Mon, 8 Apr 2024 17:31:12 +0300 Subject: [PATCH 26/40] changed gravity to center horizontal --- .../src/main/java/com/hyy/highlightpro/view/MaskContainer.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 328abc7..cf007e5 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -243,7 +243,7 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu if (width <= 0) { layoutParams.rightMargin = (highLightRect.right + highLightRect.width() / 2f).toInt() - gravities.add(Gravity.END) + gravities.add(Gravity.CENTER_HORIZONTAL) view.doOnPreDraw { tipsView -> layoutParams.rightMargin = (rootWidth - highLightRect.right + highLightRect.width() / 2f - tipsView.width).toInt() @@ -252,7 +252,7 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu } else { layoutParams.rightMargin = (highLightRect.right + highLightRect.width() / 2f - width).toInt() - gravities.add(Gravity.END) + gravities.add(Gravity.CENTER_HORIZONTAL) } } } From 1c9ccf03a44c47938b3ae5f7ca5c1484448b0f58 Mon Sep 17 00:00:00 2001 From: Jinane Date: Tue, 9 Apr 2024 09:55:07 +0300 Subject: [PATCH 27/40] left margin --- .../com/hyy/highlightpro/view/MaskContainer.kt | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index cf007e5..47948aa 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -8,6 +8,7 @@ import android.view.Gravity import android.view.KeyEvent import android.view.View import android.widget.FrameLayout +import androidx.core.content.ContextCompat import androidx.core.content.res.ResourcesCompat import androidx.core.graphics.toColorInt import androidx.core.os.ConfigurationCompat @@ -18,6 +19,7 @@ import androidx.core.view.doOnPreDraw import com.hyy.highlightpro.parameter.Constraints import com.hyy.highlightpro.parameter.HighlightParameter import com.hyy.highlightpro.HighlightProImpl +import com.hyy.highlightpro.R /** *Create by hyy on 2021/2/6 @@ -241,18 +243,18 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu } } else { if (width <= 0) { - layoutParams.rightMargin = - (highLightRect.right + highLightRect.width() / 2f).toInt() - gravities.add(Gravity.CENTER_HORIZONTAL) + layoutParams.leftMargin = + (highLightRect.left + highLightRect.width() / 2f).toInt() + gravities.add(Gravity.START) view.doOnPreDraw { tipsView -> - layoutParams.rightMargin = - (rootWidth - highLightRect.right + highLightRect.width() / 2f - tipsView.width).toInt() + layoutParams.leftMargin = + (rootWidth - highLightRect.left + highLightRect.width() / 2f - tipsView.width).toInt() view.layoutParams = layoutParams } } else { - layoutParams.rightMargin = - (highLightRect.right + highLightRect.width() / 2f - width).toInt() - gravities.add(Gravity.CENTER_HORIZONTAL) + layoutParams.leftMargin = + (highLightRect.left + highLightRect.width() / 2f - width).toInt() + gravities.add(Gravity.START) } } } From 4a120a485c52cbd543444f5c18e625288d23006a Mon Sep 17 00:00:00 2001 From: Jinane Date: Tue, 9 Apr 2024 10:09:08 +0300 Subject: [PATCH 28/40] gravity --- .../src/main/java/com/hyy/highlightpro/view/MaskContainer.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 47948aa..2b33630 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -245,7 +245,7 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu if (width <= 0) { layoutParams.leftMargin = (highLightRect.left + highLightRect.width() / 2f).toInt() - gravities.add(Gravity.START) + gravities.add(Gravity.END) view.doOnPreDraw { tipsView -> layoutParams.leftMargin = (rootWidth - highLightRect.left + highLightRect.width() / 2f - tipsView.width).toInt() @@ -254,7 +254,7 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu } else { layoutParams.leftMargin = (highLightRect.left + highLightRect.width() / 2f - width).toInt() - gravities.add(Gravity.START) + gravities.add(Gravity.END) } } } From cb08267e9715a49eaea3df8d95d2b07280e14d94 Mon Sep 17 00:00:00 2001 From: Jinane Date: Tue, 9 Apr 2024 10:24:31 +0300 Subject: [PATCH 29/40] removed division by 2 --- .../main/java/com/hyy/highlightpro/view/MaskContainer.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 2b33630..71aa639 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -244,16 +244,16 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu } else { if (width <= 0) { layoutParams.leftMargin = - (highLightRect.left + highLightRect.width() / 2f).toInt() + (highLightRect.left + highLightRect.width()).toInt() gravities.add(Gravity.END) view.doOnPreDraw { tipsView -> layoutParams.leftMargin = - (rootWidth - highLightRect.left + highLightRect.width() / 2f - tipsView.width).toInt() + (rootWidth - highLightRect.left + highLightRect.width() - tipsView.width).toInt() view.layoutParams = layoutParams } } else { layoutParams.leftMargin = - (highLightRect.left + highLightRect.width() / 2f - width).toInt() + (highLightRect.left + highLightRect.width() - width).toInt() gravities.add(Gravity.END) } } From 6362b5ac87cfb3ae23abf3107fed6875fd6682e2 Mon Sep 17 00:00:00 2001 From: Jinane Date: Tue, 9 Apr 2024 10:38:38 +0300 Subject: [PATCH 30/40] added - highLightRect.width() --- .../main/java/com/hyy/highlightpro/view/MaskContainer.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 71aa639..c0c9f92 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -244,16 +244,16 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu } else { if (width <= 0) { layoutParams.leftMargin = - (highLightRect.left + highLightRect.width()).toInt() + (highLightRect.left - highLightRect.width() + highLightRect.width() / 2f).toInt() gravities.add(Gravity.END) view.doOnPreDraw { tipsView -> layoutParams.leftMargin = - (rootWidth - highLightRect.left + highLightRect.width() - tipsView.width).toInt() + (rootWidth - highLightRect.left - highLightRect.width() + highLightRect.width() / 2f - tipsView.width).toInt() view.layoutParams = layoutParams } } else { layoutParams.leftMargin = - (highLightRect.left + highLightRect.width() - width).toInt() + (highLightRect.left - highLightRect.width() + highLightRect.width() / 2f - width).toInt() gravities.add(Gravity.END) } } From 5c51a7173f3cbe53269e9276ff525a9068bb97d9 Mon Sep 17 00:00:00 2001 From: Jinane Date: Tue, 9 Apr 2024 10:52:41 +0300 Subject: [PATCH 31/40] added substraction --- .../main/java/com/hyy/highlightpro/view/MaskContainer.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index c0c9f92..3b036f5 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -244,16 +244,16 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu } else { if (width <= 0) { layoutParams.leftMargin = - (highLightRect.left - highLightRect.width() + highLightRect.width() / 2f).toInt() + (highLightRect.left - highLightRect.width() / 2f).toInt() gravities.add(Gravity.END) view.doOnPreDraw { tipsView -> layoutParams.leftMargin = - (rootWidth - highLightRect.left - highLightRect.width() + highLightRect.width() / 2f - tipsView.width).toInt() + (rootWidth - highLightRect.left - highLightRect.width() / 2f - tipsView.width).toInt() view.layoutParams = layoutParams } } else { layoutParams.leftMargin = - (highLightRect.left - highLightRect.width() + highLightRect.width() / 2f - width).toInt() + (highLightRect.left - highLightRect.width() / 2f - width).toInt() gravities.add(Gravity.END) } } From 70849daeff61cccad77d6f00ee4f8fc4dd37d62e Mon Sep 17 00:00:00 2001 From: Jinane Date: Tue, 9 Apr 2024 11:02:29 +0300 Subject: [PATCH 32/40] removed margins --- .../hyy/highlightpro/view/MaskContainer.kt | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 3b036f5..170d8d0 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -243,18 +243,17 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu } } else { if (width <= 0) { - layoutParams.leftMargin = - (highLightRect.left - highLightRect.width() / 2f).toInt() - gravities.add(Gravity.END) - view.doOnPreDraw { tipsView -> - layoutParams.leftMargin = - (rootWidth - highLightRect.left - highLightRect.width() / 2f - tipsView.width).toInt() - view.layoutParams = layoutParams - } +// layoutParams.leftMargin = +// (highLightRect.left - highLightRect.width() / 2f).toInt() + gravities.add(Gravity.CENTER_HORIZONTAL) +// view.doOnPreDraw { tipsView -> +// layoutParams.leftMargin = +// (rootWidth - highLightRect.left - highLightRect.width() / 2f - tipsView.width).toInt() +// view.layoutParams = layoutParams +// } } else { - layoutParams.leftMargin = - (highLightRect.left - highLightRect.width() / 2f - width).toInt() - gravities.add(Gravity.END) +// (highLightRect.left - highLightRect.width() / 2f - width).toInt() + gravities.add(Gravity.CENTER_HORIZONTAL) } } } From 2a1a6ce511568e1501ea8b7d31824f79eab8b309 Mon Sep 17 00:00:00 2001 From: Jinane Date: Tue, 9 Apr 2024 11:13:44 +0300 Subject: [PATCH 33/40] gravity END --- .../src/main/java/com/hyy/highlightpro/view/MaskContainer.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 170d8d0..d161d64 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -245,7 +245,7 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu if (width <= 0) { // layoutParams.leftMargin = // (highLightRect.left - highLightRect.width() / 2f).toInt() - gravities.add(Gravity.CENTER_HORIZONTAL) + gravities.add(Gravity.END) // view.doOnPreDraw { tipsView -> // layoutParams.leftMargin = // (rootWidth - highLightRect.left - highLightRect.width() / 2f - tipsView.width).toInt() @@ -253,7 +253,7 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu // } } else { // (highLightRect.left - highLightRect.width() / 2f - width).toInt() - gravities.add(Gravity.CENTER_HORIZONTAL) + gravities.add(Gravity.END) } } } From 2a0c881060a0ac44d2415a67f751e50712afc813 Mon Sep 17 00:00:00 2001 From: Jinane Date: Tue, 9 Apr 2024 12:00:30 +0300 Subject: [PATCH 34/40] gravity START --- .../hyy/highlightpro/view/MaskContainer.kt | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index d161d64..5b060d8 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -243,17 +243,17 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu } } else { if (width <= 0) { -// layoutParams.leftMargin = -// (highLightRect.left - highLightRect.width() / 2f).toInt() - gravities.add(Gravity.END) -// view.doOnPreDraw { tipsView -> -// layoutParams.leftMargin = -// (rootWidth - highLightRect.left - highLightRect.width() / 2f - tipsView.width).toInt() -// view.layoutParams = layoutParams -// } + layoutParams.leftMargin = + (highLightRect.right + highLightRect.width() / 2f).toInt() + gravities.add(Gravity.START) + view.doOnPreDraw { tipsView -> + layoutParams.rightMargin = + (rootWidth - highLightRect.right + highLightRect.width() / 2f ).toInt() + view.layoutParams = layoutParams + } } else { -// (highLightRect.left - highLightRect.width() / 2f - width).toInt() - gravities.add(Gravity.END) + (highLightRect.right - highLightRect.width() / 2f - width).toInt() + gravities.add(Gravity.START) } } } From 85c1d5c8f0d874ee9b49b18efb9dd6b481c0d316 Mon Sep 17 00:00:00 2001 From: Jinane Date: Tue, 9 Apr 2024 13:06:03 +0300 Subject: [PATCH 35/40] change the rtl logic --- .../main/java/com/hyy/highlightpro/view/MaskContainer.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 5b060d8..5797f07 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -243,12 +243,17 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu } } else { if (width <= 0) { + layoutParams.rightMargin = + (rootWidth - highLightRect.right - highLightRect.width() / 2f).toInt() layoutParams.leftMargin = - (highLightRect.right + highLightRect.width() / 2f).toInt() + (highLightRect.left - highLightRect.width() / 2f).toInt() gravities.add(Gravity.START) view.doOnPreDraw { tipsView -> + val centerHighlight = (highLightRect.left + highLightRect.right - rootWidth) layoutParams.rightMargin = - (rootWidth - highLightRect.right + highLightRect.width() / 2f ).toInt() + (rootWidth - centerHighlight - tipsView.width).toInt() / 2 + layoutParams.leftMargin = + (rootWidth + centerHighlight - tipsView.width).toInt() / 2 view.layoutParams = layoutParams } } else { From 0fb8c0e17f84dfa209e2f458993d37715001d352 Mon Sep 17 00:00:00 2001 From: Jinane Date: Tue, 9 Apr 2024 13:52:01 +0300 Subject: [PATCH 36/40] fixed the rtl logic --- .../src/main/java/com/hyy/highlightpro/view/MaskContainer.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 5797f07..ba038b8 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -251,9 +251,9 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu view.doOnPreDraw { tipsView -> val centerHighlight = (highLightRect.left + highLightRect.right - rootWidth) layoutParams.rightMargin = - (rootWidth - centerHighlight - tipsView.width).toInt() / 2 + (rootWidth - centerHighlight - tipsView.width).toInt() / 2 - tipsView.width layoutParams.leftMargin = - (rootWidth + centerHighlight - tipsView.width).toInt() / 2 + (rootWidth + centerHighlight - tipsView.width).toInt() / 2 - tipsView.width view.layoutParams = layoutParams } } else { From d71279b15dbcf5da0d5f71ed83b470c62cf51a6d Mon Sep 17 00:00:00 2001 From: Jinane Date: Tue, 9 Apr 2024 14:12:55 +0300 Subject: [PATCH 37/40] fixed the rtl logic again --- .../java/com/hyy/highlightpro/view/MaskContainer.kt | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index ba038b8..6941168 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -20,6 +20,7 @@ import com.hyy.highlightpro.parameter.Constraints import com.hyy.highlightpro.parameter.HighlightParameter import com.hyy.highlightpro.HighlightProImpl import com.hyy.highlightpro.R +import kotlin.math.abs /** *Create by hyy on 2021/2/6 @@ -243,17 +244,15 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu } } else { if (width <= 0) { - layoutParams.rightMargin = - (rootWidth - highLightRect.right - highLightRect.width() / 2f).toInt() - layoutParams.leftMargin = - (highLightRect.left - highLightRect.width() / 2f).toInt() + val transitFromCenter = (highLightRect.left + highLightRect.right - rootWidth) + layoutParams.rightMargin = (transitFromCenter).toInt()/2 + layoutParams.leftMargin = (transitFromCenter).toInt()/2 gravities.add(Gravity.START) view.doOnPreDraw { tipsView -> - val centerHighlight = (highLightRect.left + highLightRect.right - rootWidth) layoutParams.rightMargin = - (rootWidth - centerHighlight - tipsView.width).toInt() / 2 - tipsView.width + (rootWidth - transitFromCenter - tipsView.width).toInt() / 2 layoutParams.leftMargin = - (rootWidth + centerHighlight - tipsView.width).toInt() / 2 - tipsView.width + (rootWidth + transitFromCenter - tipsView.width).toInt() / 2 view.layoutParams = layoutParams } } else { From ad2b0698b2d6e18213bb82f1ba8c89d8fc0ae4a2 Mon Sep 17 00:00:00 2001 From: Jinane Date: Tue, 9 Apr 2024 14:32:07 +0300 Subject: [PATCH 38/40] fixed the rtl logic again and again --- .../hyy/highlightpro/view/MaskContainer.kt | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index 6941168..eba2147 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -227,26 +227,26 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu Constraints.CenterHorizontalOfHighlight -> { val width = layoutParams.width - if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { - if (width <= 0) { - layoutParams.leftMargin = - (highLightRect.left + highLightRect.width() / 2f).toInt() - gravities.add(Gravity.START) - view.doOnPreDraw { tipsView -> - layoutParams.leftMargin = - (highLightRect.left + highLightRect.width() / 2f - tipsView.width).toInt() - view.layoutParams = layoutParams - } - } else { - layoutParams.leftMargin = - (highLightRect.left + highLightRect.width() / 2f - width).toInt() - gravities.add(Gravity.START) - } - } else { +// if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { +// if (width <= 0) { +// layoutParams.leftMargin = +// (highLightRect.left + highLightRect.width() / 2f).toInt() +// gravities.add(Gravity.START) +// view.doOnPreDraw { tipsView -> +// layoutParams.leftMargin = +// (highLightRect.left + highLightRect.width() / 2f - tipsView.width).toInt() +// view.layoutParams = layoutParams +// } +// } else { +// layoutParams.leftMargin = +// (highLightRect.left + highLightRect.width() / 2f - width).toInt() +// gravities.add(Gravity.START) +// } +// } else { if (width <= 0) { val transitFromCenter = (highLightRect.left + highLightRect.right - rootWidth) - layoutParams.rightMargin = (transitFromCenter).toInt()/2 - layoutParams.leftMargin = (transitFromCenter).toInt()/2 + layoutParams.rightMargin = abs(transitFromCenter).toInt()/2 + layoutParams.leftMargin = abs(transitFromCenter).toInt()/2 gravities.add(Gravity.START) view.doOnPreDraw { tipsView -> layoutParams.rightMargin = @@ -256,10 +256,10 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu view.layoutParams = layoutParams } } else { - (highLightRect.right - highLightRect.width() / 2f - width).toInt() + (highLightRect.right - highLightRect.width() / 2f - width).toInt() gravities.add(Gravity.START) } - } +// } } Constraints.CenterVerticalOfHighlight -> { From 1fe74de8571f9dc3235034424c350eedb057abc2 Mon Sep 17 00:00:00 2001 From: Jinane Date: Tue, 9 Apr 2024 14:51:35 +0300 Subject: [PATCH 39/40] fixed center horizontal logic --- app/src/main/res/layout/guide_tips_layout.xml | 13 +++-- .../hyy/highlightpro/view/MaskContainer.kt | 47 ++++++------------- 2 files changed, 24 insertions(+), 36 deletions(-) diff --git a/app/src/main/res/layout/guide_tips_layout.xml b/app/src/main/res/layout/guide_tips_layout.xml index 55bc250..7292228 100644 --- a/app/src/main/res/layout/guide_tips_layout.xml +++ b/app/src/main/res/layout/guide_tips_layout.xml @@ -1,5 +1,5 @@ - + android:textColor="@color/white" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + android:textColor="@color/white" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/tv_tips" /> - \ No newline at end of file + \ No newline at end of file diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index eba2147..a72515b 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -227,39 +227,22 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu Constraints.CenterHorizontalOfHighlight -> { val width = layoutParams.width -// if (resources.configuration.layoutDirection == ViewCompat.LAYOUT_DIRECTION_LTR && locale != "ku") { -// if (width <= 0) { -// layoutParams.leftMargin = -// (highLightRect.left + highLightRect.width() / 2f).toInt() -// gravities.add(Gravity.START) -// view.doOnPreDraw { tipsView -> -// layoutParams.leftMargin = -// (highLightRect.left + highLightRect.width() / 2f - tipsView.width).toInt() -// view.layoutParams = layoutParams -// } -// } else { -// layoutParams.leftMargin = -// (highLightRect.left + highLightRect.width() / 2f - width).toInt() -// gravities.add(Gravity.START) -// } -// } else { - if (width <= 0) { - val transitFromCenter = (highLightRect.left + highLightRect.right - rootWidth) - layoutParams.rightMargin = abs(transitFromCenter).toInt()/2 - layoutParams.leftMargin = abs(transitFromCenter).toInt()/2 - gravities.add(Gravity.START) - view.doOnPreDraw { tipsView -> - layoutParams.rightMargin = - (rootWidth - transitFromCenter - tipsView.width).toInt() / 2 - layoutParams.leftMargin = - (rootWidth + transitFromCenter - tipsView.width).toInt() / 2 - view.layoutParams = layoutParams - } - } else { - (highLightRect.right - highLightRect.width() / 2f - width).toInt() - gravities.add(Gravity.START) + if (width <= 0) { + val transitFromCenter = (highLightRect.left + highLightRect.right - rootWidth) + layoutParams.rightMargin = abs(transitFromCenter).toInt()/2 + layoutParams.leftMargin = abs(transitFromCenter).toInt()/2 + gravities.add(Gravity.START) + view.doOnPreDraw { tipsView -> + layoutParams.rightMargin = + (rootWidth - transitFromCenter - tipsView.width).toInt() / 2 + layoutParams.leftMargin = + (rootWidth + transitFromCenter - tipsView.width).toInt() / 2 + view.layoutParams = layoutParams } -// } + } else { + (highLightRect.right - highLightRect.width() / 2f - width).toInt() + gravities.add(Gravity.START) + } } Constraints.CenterVerticalOfHighlight -> { From b867ce02a027c0b0c6c1d75bd32e265ef129f9fd Mon Sep 17 00:00:00 2001 From: Jinane Date: Tue, 9 Apr 2024 15:08:28 +0300 Subject: [PATCH 40/40] fixed else branch --- .../src/main/java/com/hyy/highlightpro/view/MaskContainer.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt index a72515b..4ab3f12 100644 --- a/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt +++ b/highlight_pro/src/main/java/com/hyy/highlightpro/view/MaskContainer.kt @@ -240,7 +240,8 @@ internal class MaskContainer constructor(context: Context, attributeSet: Attribu view.layoutParams = layoutParams } } else { - (highLightRect.right - highLightRect.width() / 2f - width).toInt() + layoutParams.leftMargin = + (highLightRect.left + highLightRect.width() / 2f - width / 2f).toInt() gravities.add(Gravity.START) } }