Ich hatte versucht, einen Bogen mit der Farbe oben auf dem Bogen zu zeichnen und den unteren Teil des Bogens im Rechteck für die benutzerdefinierte Ansicht zu entfernen. Ich hatte viele stackoverflow Fragen, aber es funktioniert nicht. Der weiße Bereich in der Leinwand muss aus dem folgenden Screenshot entfernt werden. Der Code für die benutzerdefinierte Ansicht wird hier angezeigt. Bitte helfen Sie mir, die Lösung dafür herauszufinden. DankWie entferne ich einen Teil der Leinwand von der quadratischen customview android?
Code:
@Override
protected void onDraw(Canvas canvas) {
float size = Math.min(getWidth(), getWidth());
RectF rectRectF = new RectF(0, 0, getWidth(), getHeight());
Path rectPath = new Path();
rectPath.addRect(rectRectF, Path.Direction.CCW);
Paint bgPaint = new Paint();
bgPaint.setColor(Color.RED);
canvas.drawPath(rectPath, bgPaint);
RectF rectF = new RectF(0, 0, 2 * getWidth(), 2 * getWidth());
Paint transparentPaint = new Paint();
transparentPaint.setColor(Color.WHITE);
transparentPaint.setAntiAlias(true);
canvas.drawArc(rectF, 180, 90, true, transparentPaint);
}
Ich hatte diesen Code verwendet, aber wenn ich die Hintergrundfarbe für die rect Leinwand festlegen, gibt dieser Code transparente BG für den Bogen. Aber die Hintergrundfarbe kommt in den Vordergrund, was ich in der Leinwand nicht machen möchte –