From 443771e5f636c3550c3676f1b5e9c7c919474b5f Mon Sep 17 00:00:00 2001 From: Vivek saini <69786649+Viveksaini9898@users.noreply.github.com> Date: Mon, 27 Jun 2022 17:11:41 +0530 Subject: [PATCH] change text visibility --- app/src/main/res/layout/activity_main.xml | 7 +++---- .../com/library/verticalseekbar/VerticalSeekbar.kt | 13 +++++++++++-- verticalseekbar/src/main/res/values/attrs.xml | 1 + 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 904f5b7..9a6f020 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -9,13 +9,12 @@ diff --git a/verticalseekbar/src/main/java/com/library/verticalseekbar/VerticalSeekbar.kt b/verticalseekbar/src/main/java/com/library/verticalseekbar/VerticalSeekbar.kt index d6a7282..5d94eac 100644 --- a/verticalseekbar/src/main/java/com/library/verticalseekbar/VerticalSeekbar.kt +++ b/verticalseekbar/src/main/java/com/library/verticalseekbar/VerticalSeekbar.kt @@ -36,6 +36,7 @@ class VerticalSeekbar : View { iconWidth = a.getDimension(R.styleable.VerticalSeekbar_vs_iconSize, iconWidth) textSize = a.getDimension(R.styleable.VerticalSeekbar_vs_textSize, textSize) textColor = a.getColor(R.styleable.VerticalSeekbar_vs_textColor, textColor) + textVisibility = a.getBoolean(R.styleable.VerticalSeekbar_vs_textVisibility, textVisibility) thread { if (iconHiResId != -1) iconHigh = getBitmapFromVectorDrawable(context, iconHiResId) @@ -116,7 +117,7 @@ class VerticalSeekbar : View { } private val path = Path() private val textRect: Rect = Rect() - private var textSize = dpToPx(30).toFloat() + private var textSize = dpToPx(20).toFloat() set(value) { field = value invalidate() @@ -129,6 +130,11 @@ class VerticalSeekbar : View { private val textPaint = Paint(Paint.ANTI_ALIAS_FLAG).apply { isAntiAlias = true } + private var textVisibility = false + set(value) { + field= value + invalidate() + } override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { @@ -172,7 +178,6 @@ class VerticalSeekbar : View { val x: Float = (left + (right - left - textRect.width()) / 2).toFloat() val y: Float = top + (bottom - top) / 2 - (fm.descent + fm.ascent) / 2 - canvas.drawText(progress.toString(), x, y, textPaint) if (iconLow != null && iconMedium != null && iconHigh != null) { @@ -187,6 +192,10 @@ class VerticalSeekbar : View { canvas.drawBitmap(iconHigh!!, null, iconRect, null) } } + } else { + if (textVisibility) { + canvas.drawText(progress.toString(), x, y, textPaint) + } } } diff --git a/verticalseekbar/src/main/res/values/attrs.xml b/verticalseekbar/src/main/res/values/attrs.xml index c5a983e..d7652ec 100644 --- a/verticalseekbar/src/main/res/values/attrs.xml +++ b/verticalseekbar/src/main/res/values/attrs.xml @@ -13,5 +13,6 @@ + \ No newline at end of file