commit 3c1de889b3a67b8b7a67702cb4944e48aee9de33
parent d05e0512c5413d6b48a0088604c97469606b9071
Author: gstraube <gstraube@mailbox.org>
Date: Sat, 21 Oct 2017 17:28:33 +0200
Increase number of marks on gauge
Diffstat:
1 file changed, 20 insertions(+), 6 deletions(-)
diff --git a/app/src/main/java/com/github/cythara/CanvasPainter.java b/app/src/main/java/com/github/cythara/CanvasPainter.java
@@ -6,7 +6,9 @@ import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.drawable.Drawable;
import android.support.v4.content.ContextCompat;
+import android.support.v4.math.MathUtils;
import android.text.TextPaint;
+import android.util.Log;
import static com.github.cythara.ListenerFragment.*;
@@ -14,7 +16,7 @@ class CanvasPainter {
private static final double TOLERANCE = 5D;
private static final int MAX_DEVIATION = 60;
- private static final int NUMBER_OF_MARKS = 7;
+ private static final int NUMBER_OF_MARKS = 14;
private final Context context;
private Canvas canvas;
@@ -121,11 +123,15 @@ class CanvasPainter {
int symbolsTextSize = context.getResources().getDimensionPixelSize(R.dimen.symbolsTextSize);
symbolPaint.setTextSize(symbolsTextSize);
+ int numberOfMarksOnEachSide = (NUMBER_OF_MARKS - 1) / 2;
float yPos = canvas.getHeight() / 4F;
- canvas.drawText(sharp, x + 3 * spaceWidth - symbolPaint.measureText(sharp) / 2F, yPos,
- symbolPaint);
+ canvas.drawText(sharp,
+ x + numberOfMarksOnEachSide * spaceWidth - symbolPaint.measureText(sharp) / 2F,
+ yPos, symbolPaint);
- canvas.drawText(flat, x - 3 * spaceWidth - symbolPaint.measureText(flat) / 2F, yPos,
+ canvas.drawText(flat,
+ x - numberOfMarksOnEachSide * spaceWidth - symbolPaint.measureText(flat) / 2F,
+ yPos,
symbolPaint);
}
@@ -145,8 +151,16 @@ class CanvasPainter {
}
String text = prefix + String.valueOf(mark);
- canvas.drawLine(xPos, y - 20, xPos, y + 20, gaugePaint);
- canvas.drawText(text, xPos - numbersPaint.measureText(text) / 2F, y - 30, numbersPaint);
+ int yOffset = 5;
+ if (mark % 10 == 0) {
+ yOffset = 10;
+ }
+ if (mark % 20 == 0) {
+ canvas.drawText(text, xPos - numbersPaint.measureText(text) / 2F, y - 30, numbersPaint);
+ yOffset = 20;
+ }
+
+ canvas.drawLine(xPos, y - yOffset, xPos, y + yOffset, gaugePaint);
}
private void drawText() {