У меня есть манометр, и я пытаюсь нарисовать на нем линию. (Фиксированное положение, не фиксированное значение)DrawArc на изображении, проблема с позиционированием
К сожалению, у меня нет опыта рисования. (И я думаю, что его трудно понять)
На данный момент он выглядит следующим образом: https://i.stack.imgur.com/5tkXEl.png
Как вы можете видеть, его не позиционируется правильно и я очень боюсь смотреть на него на других устройствах.
Код (класс расширяет View):
private void init(Context context) {
bounds = new Rect();
gaugeBackground = ContextCompat.getDrawable(context, R.drawable.gauge);
arcPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
arcPaint.setColor(Color.RED);
arcPaint.setStyle(Paint.Style.STROKE);
arcPaint.setStrokeWidth(7f);
}
protected void onDraw(Canvas canvas) {
canvas.getClipBounds(bounds);
gaugeBackground.setBounds(bounds);
gaugeBackground.draw(canvas);
float padding = 5;
float size = getWidth() < getHeight() ? getWidth() : getHeight();
float width = size - (2 * padding);
float height = size - (2 * padding);
float radius = (width < height ? width /2 : height /2);
float rectLeft = (width /2) - radius + padding;
float rectTop = (getHeight() /2) - radius + padding;
float rectRight = (getWidth() /2) - radius + padding + width;
float rectBottom = (getHeight() /2) - radius + padding + height;
RectF mRect = new RectF(rectLeft, rectTop, rectRight, rectBottom);
canvas.drawArc(mRect, 119f, 300f, false, arcPaint);
}
Может кто-то предоставить полезную информацию? Я надеюсь, что, наконец, я получу весь материал RectF/Drawing.