GitHub Viewer
From 39e52c06f432f87ce81ffc981002d221397a58d0 Mon Sep 17 00:00:00 2001
From: jibbo
Date: Tue, 12 Nov 2019 11:02:42 +0100
Subject: [PATCH 1/2] made possible to have labels only inside
---
.../java/params/com/statusView/StatusView.kt | 53 ++++++++++++-------
app/src/main/res/layout/activity_main.xml | 5 +-
app/src/main/res/values/attrs.xml | 5 +-
3 files changed, 41 insertions(+), 22 deletions(-)
diff --git a/app/src/main/java/params/com/statusView/StatusView.kt b/app/src/main/java/params/com/statusView/StatusView.kt
index e16e9d4..c2251e7 100644
--- a/app/src/main/java/params/com/statusView/StatusView.kt
+++ b/app/src/main/java/params/com/statusView/StatusView.kt
@@ -296,7 +296,15 @@ class StatusView @JvmOverloads constructor(
* A boolean which decides if to draw labels or not
*/
- var drawLabels: Boolean by OnValidateProp(false){
+ var drawLabelsBelow: Boolean by OnValidateProp(false){
+ setDrawingDimensions()
+ }
+
+ /**
+ * A boolean which decides if labels should be written inside
+ */
+
+ var drawLabelsInside: Boolean by OnValidateProp(false){
setDrawingDimensions()
}
@@ -428,7 +436,8 @@ class StatusView @JvmOverloads constructor(
completeDrawable = a.getDrawable(R.styleable.StatusViewScroller_completeDrawable)
incompleteDrawable = a.getDrawable(R.styleable.StatusViewScroller_incompleteDrawable)
currentDrawable = a.getDrawable(R.styleable.StatusViewScroller_currentDrawable)
- drawLabels = a.getBoolean(R.styleable.StatusViewScroller_drawLabels, drawLabels)
+ drawLabelsInside = a.getBoolean(R.styleable.StatusViewScroller_drawLabelsInside, drawLabelsInside)
+ drawLabelsBelow = a.getBoolean(R.styleable.StatusViewScroller_drawLabelsBelow, drawLabelsBelow)
strictObeyLineLength = a.getBoolean(R.styleable.StatusViewScroller_strictObeyLineLength, strictObeyLineLength)
lineGap = a.getDimension(R.styleable.StatusViewScroller_lineGap, lineGap)
minStatusAdjacentMargin = a.getDimension(R.styleable.StatusViewScroller_minStatusAdjacentMargin, minStatusAdjacentMargin)
@@ -768,31 +777,39 @@ class StatusView @JvmOverloads constructor(
val circleItem = CircleItem(PointF((lastPoint.x + circleRadius), lastPoint.y), circleRadius, circleStrokePaint, circleFillPaint)
lastPoint.x += ((circleRadius) * 2.0f) + (circleStrokeWidth / 2)
- if(pos {
+ val text: String = statusData[pos].text
+ val measuringRect = Rect()
+ textPaintLabel.getTextBounds(text, 0, text.length, measuringRect)
+ statusItemText = LabelItemText(text, textPaintLabel, circleItem.center.x, circleItem.center.y - measuringRect.exactCenterY())
+ }
+ drawLabelsBelow -> {
+ val text: String = (pos + 1).toString()
+ val measuringRect = Rect()
+ textPaintLabel.getTextBounds(text, 0, text.length, measuringRect)
+ statusItemText = LabelItemText(text, textPaintLabel, circleItem.center.x, circleItem.center.y - measuringRect.exactCenterY())
+ }
}
- drawingData.add(Item(statusItemText, circleItem, lineItem,labelItemText))
-
+ drawingData.add(Item(statusItemText, circleItem, lineItem, labelItemText))
}
@@ -1120,4 +1137,4 @@ class StatusView @JvmOverloads constructor(
}
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index cc33be2..9574399 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -18,7 +18,8 @@
app:layout_constraintEnd_toEndOf="parent"
app:stepCount="5"
app:currentCount="4"
- app:drawLabels="true"
+ app:drawLabelsInside="true"
+ app:drawLabelsBelow="false"
android:entries="@array/status"
app:circleColorType="fillStroke"
app:lineGap="5dp"
@@ -43,4 +44,4 @@
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index 64efe20..50a09b8 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -33,7 +33,8 @@
-
+
+
@@ -46,4 +47,4 @@
-
\ No newline at end of file
+
From ed3acc88699310f8615ca51757164a7fa962a885 Mon Sep 17 00:00:00 2001
From: jibbo
Date: Tue, 12 Nov 2019 11:09:50 +0100
Subject: [PATCH 2/2] clean up
---
.../main/java/params/com/statusView/StatusView.kt | 14 +++++++-------
app/src/main/res/layout/activity_main.xml | 4 ++--
app/src/main/res/values/attrs.xml | 4 ++--
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/app/src/main/java/params/com/statusView/StatusView.kt b/app/src/main/java/params/com/statusView/StatusView.kt
index c2251e7..07eebdb 100644
--- a/app/src/main/java/params/com/statusView/StatusView.kt
+++ b/app/src/main/java/params/com/statusView/StatusView.kt
@@ -296,7 +296,7 @@ class StatusView @JvmOverloads constructor(
* A boolean which decides if to draw labels or not
*/
- var drawLabelsBelow: Boolean by OnValidateProp(false){
+ var drawCount: Boolean by OnValidateProp(false){
setDrawingDimensions()
}
@@ -304,7 +304,7 @@ class StatusView @JvmOverloads constructor(
* A boolean which decides if labels should be written inside
*/
- var drawLabelsInside: Boolean by OnValidateProp(false){
+ var drawLabels: Boolean by OnValidateProp(false){
setDrawingDimensions()
}
@@ -436,8 +436,8 @@ class StatusView @JvmOverloads constructor(
completeDrawable = a.getDrawable(R.styleable.StatusViewScroller_completeDrawable)
incompleteDrawable = a.getDrawable(R.styleable.StatusViewScroller_incompleteDrawable)
currentDrawable = a.getDrawable(R.styleable.StatusViewScroller_currentDrawable)
- drawLabelsInside = a.getBoolean(R.styleable.StatusViewScroller_drawLabelsInside, drawLabelsInside)
- drawLabelsBelow = a.getBoolean(R.styleable.StatusViewScroller_drawLabelsBelow, drawLabelsBelow)
+ drawLabels = a.getBoolean(R.styleable.StatusViewScroller_drawLabels, drawLabels)
+ drawCount = a.getBoolean(R.styleable.StatusViewScroller_drawCount, drawCount)
strictObeyLineLength = a.getBoolean(R.styleable.StatusViewScroller_strictObeyLineLength, strictObeyLineLength)
lineGap = a.getDimension(R.styleable.StatusViewScroller_lineGap, lineGap)
minStatusAdjacentMargin = a.getDimension(R.styleable.StatusViewScroller_minStatusAdjacentMargin, minStatusAdjacentMargin)
@@ -777,7 +777,7 @@ class StatusView @JvmOverloads constructor(
val circleItem = CircleItem(PointF((lastPoint.x + circleRadius), lastPoint.y), circleRadius, circleStrokePaint, circleFillPaint)
lastPoint.x += ((circleRadius) * 2.0f) + (circleStrokeWidth / 2)
- if(!drawLabelsInside && pos {
+ drawLabels -> {
val text: String = statusData[pos].text
val measuringRect = Rect()
textPaintLabel.getTextBounds(text, 0, text.length, measuringRect)
statusItemText = LabelItemText(text, textPaintLabel, circleItem.center.x, circleItem.center.y - measuringRect.exactCenterY())
}
- drawLabelsBelow -> {
+ drawCount -> {
val text: String = (pos + 1).toString()
val measuringRect = Rect()
textPaintLabel.getTextBounds(text, 0, text.length, measuringRect)
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 9574399..398f265 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -18,8 +18,8 @@
app:layout_constraintEnd_toEndOf="parent"
app:stepCount="5"
app:currentCount="4"
- app:drawLabelsInside="true"
- app:drawLabelsBelow="false"
+ app:drawLabels="false"
+ app:drawCount="true"
android:entries="@array/status"
app:circleColorType="fillStroke"
app:lineGap="5dp"
diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml
index 50a09b8..b99d264 100644
--- a/app/src/main/res/values/attrs.xml
+++ b/app/src/main/res/values/attrs.xml
@@ -33,8 +33,8 @@
-
-
+
+