From 03c30d6805f515e93c3230eb66fc02340d37bc63 Mon Sep 17 00:00:00 2001 From: Arif Rahman Hakim <40921368+newarifrh@users.noreply.github.com> Date: Sat, 6 Jun 2020 16:58:53 +0700 Subject: [PATCH 1/3] add of multi-line text support --- .../circleprogress/CircleProgressView.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/CircleProgressView/src/main/java/at/grabner/circleprogress/CircleProgressView.java b/CircleProgressView/src/main/java/at/grabner/circleprogress/CircleProgressView.java index a1e7848..fc36129 100644 --- a/CircleProgressView/src/main/java/at/grabner/circleprogress/CircleProgressView.java +++ b/CircleProgressView/src/main/java/at/grabner/circleprogress/CircleProgressView.java @@ -1790,6 +1790,26 @@ private void drawTextWithUnit(Canvas canvas) { canvas.drawRect(mActualTextBounds, rectPaint); } + + if(text.contains("\n")){ + List splitText = Arrays.asList(text.split("\n")); + for(int i = 0; i < splitText.size(); i++){ + int height = i * 50; + canvas.drawText( + splitText.get(i), + mActualTextBounds.left - mTextPaint.getTextSize() * 0.02f, + mActualTextBounds.bottom + height, + mTextPaint + ); + } + } else { + canvas.drawText( + text, + mActualTextBounds.left - mTextPaint.getTextSize() * 0.02f, + mActualTextBounds.bottom, + mTextPaint + ); + } canvas.drawText(text, mActualTextBounds.left - (mTextPaint.getTextSize() * 0.02f), mActualTextBounds.bottom, mTextPaint); From 4600c5b852cc944f008a808230f4c990b36f0c37 Mon Sep 17 00:00:00 2001 From: Arif Rahman Hakim <16.9025@stis.ac.id> Date: Sat, 6 Jun 2020 17:31:24 +0700 Subject: [PATCH 2/3] fix height text for multiline --- .../grabner/circleprogress/CircleProgressView.java | 14 +++++++------- gradle/wrapper/gradle-wrapper.properties | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CircleProgressView/src/main/java/at/grabner/circleprogress/CircleProgressView.java b/CircleProgressView/src/main/java/at/grabner/circleprogress/CircleProgressView.java index fc36129..f395309 100644 --- a/CircleProgressView/src/main/java/at/grabner/circleprogress/CircleProgressView.java +++ b/CircleProgressView/src/main/java/at/grabner/circleprogress/CircleProgressView.java @@ -1792,15 +1792,17 @@ private void drawTextWithUnit(Canvas canvas) { } if(text.contains("\n")){ - List splitText = Arrays.asList(text.split("\n")); - for(int i = 0; i < splitText.size(); i++){ - int height = i * 50; + String[] texts = text.split("\n"); + float height = mActualTextBounds.bottom; + for (String txt : texts){ canvas.drawText( - splitText.get(i), + txt, mActualTextBounds.left - mTextPaint.getTextSize() * 0.02f, - mActualTextBounds.bottom + height, + height, mTextPaint ); + + height += mTextPaint.getTextSize(); } } else { canvas.drawText( @@ -1811,8 +1813,6 @@ private void drawTextWithUnit(Canvas canvas) { ); } - canvas.drawText(text, mActualTextBounds.left - (mTextPaint.getTextSize() * 0.02f), mActualTextBounds.bottom, mTextPaint); - if (mShowUnit) { if (mIsAutoColorEnabled) { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ba150d7..3bbfb46 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Sep 13 15:53:10 CEST 2016 +#Sat Jun 06 17:10:50 ICT 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip From 1d1bfd0049316bf8eb68def370c0df76eab407b6 Mon Sep 17 00:00:00 2001 From: Arif Rahman Hakim <16.9025@stis.ac.id> Date: Sat, 6 Jun 2020 17:58:30 +0700 Subject: [PATCH 3/3] fix position center for text multiline --- .../java/at/grabner/circleprogress/CircleProgressView.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CircleProgressView/src/main/java/at/grabner/circleprogress/CircleProgressView.java b/CircleProgressView/src/main/java/at/grabner/circleprogress/CircleProgressView.java index f395309..0bba4f1 100644 --- a/CircleProgressView/src/main/java/at/grabner/circleprogress/CircleProgressView.java +++ b/CircleProgressView/src/main/java/at/grabner/circleprogress/CircleProgressView.java @@ -1795,10 +1795,12 @@ private void drawTextWithUnit(Canvas canvas) { String[] texts = text.split("\n"); float height = mActualTextBounds.bottom; for (String txt : texts){ + mTextPaint.setTextSize(mTextSize); + mActualTextBounds = calcTextBounds(txt, mTextPaint, mCircleBounds); //center text in circle canvas.drawText( txt, mActualTextBounds.left - mTextPaint.getTextSize() * 0.02f, - height, + height-40, mTextPaint );