Skip to content

Commit 8524450

Browse files
committed
draw triangle
1 parent d42f2b4 commit 8524450

File tree

1 file changed

+24
-12
lines changed

1 file changed

+24
-12
lines changed

app/src/main/java/com/duy/compass/compass/CanvasHelper.java

+24-12
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public void draw(Canvas canvas) {
7878
drawBackground(canvas);
7979
drawMagnetic(canvas);
8080
drawClock(canvas);
81-
drawValue(canvas);
81+
drawAzimuthValue(canvas);
8282
//drawSunTime(canvas);
8383
drawPitchRoll(canvas);
8484
}
@@ -121,14 +121,14 @@ private void drawPitchRoll(Canvas canvas) {
121121
float y = (float) (realPx(length) * cosR);
122122
canvas.drawCircle(mCenter.x - x, mCenter.y + y, radius, mPathPaint);
123123

124-
radius = realPx(length );
124+
radius = realPx(length);
125125
mPath.reset();
126126
mPath.moveTo(mCenter.x - radius, mCenter.y);
127127
mPath.lineTo(mCenter.x + radius, mCenter.y);
128128
mPath.moveTo(mCenter.x, mCenter.y - radius);
129129
mPath.lineTo(mCenter.x, mCenter.y + radius);
130130

131-
mPathPaint.setColor(Color.WHITE);
131+
mPathPaint.setColor(mSecondaryTextColor);
132132
mPathPaint.setStrokeWidth(realPx(3));
133133
mPathPaint.setStyle(Style.STROKE);
134134
canvas.drawPath(mPath, mPathPaint);
@@ -176,27 +176,40 @@ private void drawSunTime(Canvas canvas) {
176176
canvas.drawPath(mPath, mPathPaint);
177177
}
178178

179-
private void drawValue(Canvas canvas) {
179+
private void drawAzimuthValue(Canvas canvas) {
180180
//draw triangle
181-
mPathPaint.setStyle(Style.FILL);
182-
mPathPaint.setColor(Color.WHITE);
183-
mPathPaint.setStrokeWidth(realPx(3));
181+
184182

185183
int x = mCenter.x;
186184
int y = (int) (mCenter.y - realPx(430 + mUnitPadding * 2));
187-
int length = (int) realPx(30);
185+
float length = realPx(30);
188186

189187
mPath.reset();
190188
mPath.lineTo(x - length / 2.0f, y - length);
191189
mPath.lineTo(x + length / 2.0f, y - length);
192190
mPath.lineTo(x, y);
193191
mPath.lineTo(x - length / 2.0f, y - length);
194-
canvas.drawPath(mPath, mPathPaint);
195192

196-
mPathPaint.setTextSize(realPx(80));
193+
mPathPaint.setStyle(Style.FILL);
197194
mPathPaint.setColor(Color.WHITE);
195+
canvas.drawPath(mPath, mPathPaint);
196+
197+
length = realPx(15);
198+
y = (int) (mCenter.y - realPx(440 + mUnitPadding * 2));
199+
mPath.reset();
200+
mPath.lineTo(x - length / 2.0f, y - length);
201+
mPath.lineTo(x + length / 2.0f, y - length);
202+
mPath.lineTo(x, y);
203+
mPath.lineTo(x - length / 2.0f, y - length);
204+
205+
mPathPaint.setStyle(Style.FILL);
206+
mPathPaint.setColor(mAccentColor);
207+
canvas.drawPath(mPath, mPathPaint);
208+
209+
mNumberTextPaint.setTextSize(realPx(80));
198210
String str = ((int) mSensorValue.getAzimuth()) + "° " + getDirectionText(mSensorValue.getAzimuth());
199-
canvas.drawText(str, x - mPathPaint.measureText(str) / 2, y - length - realPx(10), mPathPaint);
211+
canvas.drawText(str, x - mNumberTextPaint.measureText(str) / 2.0f,
212+
y - length - realPx(mUnitPadding * 2), mNumberTextPaint);
200213
}
201214

202215

@@ -226,7 +239,6 @@ private void initPaint() {
226239
}
227240

228241

229-
230242
private void drawClock(Canvas canvas) {
231243
canvas.save();
232244
canvas.rotate(-mSensorValue.getAzimuth(), mCenter.x, mCenter.y);

0 commit comments

Comments
 (0)