Wie zeichnet man ein leeres Rechteck mit etc. borderWidth = 3 und borderColor = schwarz und Teile innerhalb des Rechtecks haben weder Inhalt noch Farbe. Welche Funktion in Canvas soll verwendet werden?
void drawRect(float left, float top, float right, float bottom, Paint paint)
void drawRect(RectF rect, Paint paint)
void drawRect(Rect r, Paint paint)
Vielen Dank.
Ich versuche dieses Beispiel
Paint myPaint = new Paint();
myPaint.setColor(Color.rgb(0, 0, 0));
myPaint.setStrokeWidth(10);
c.drawRect(100, 100, 200, 200, myPaint);
Es zeichnet ein Rechteck und füllt es mit schwarzer Farbe, aber ich möchte nur "Rahmen" wie dieses Bild:
Antworten:
Versuchen Sie es
paint.setStyle(Paint.Style.STROKE)
?quelle
Angenommen, " Teil innerhalb eines Rechtecks hat keine Inhaltsfarbe " bedeutet, dass Sie unterschiedliche Füllungen innerhalb des Rechtecks wünschen. Sie müssen ein Rechteck innerhalb Ihres Rechtecks zeichnen, dann mit der Strichbreite 0 und den gewünschten Füllfarben.
Beispielsweise:
DrawView.java
Die Aktivität zum Starten:
StartDraw.java
... wird sich so herausstellen:
quelle
quelle
Erstellen Sie eine neue Klasse
MyView, Which extends View
. Überschreiben Sie dieonDraw(Canvas canvas)
Methode zum Zeichnen von RechteckenCanvas
.Verschieben Sie dann Ihre Java-Aktivität auf
setContentView()
diese Weise in unsere benutzerdefinierte Ansicht MyView.Call.Weitere Details finden Sie hier
quelle
und einer von euch
drawRect
sollte funktionieren.quelle
Ich weiß nicht, ob dies zu spät ist, aber ich habe das gelöst, indem ich vier dünne Rechtecke gezeichnet habe, die zusammen einen großen Rand bildeten. Das Zeichnen des Rahmens mit einem Rechteck scheint nicht rückgängig zu machen, da alle undurchsichtig sind. Sie sollten daher jede Kante des Rahmens separat zeichnen.
quelle
Der Code ist in Ordnung, setzen Sie einfach den Farbstil als STROKE
quelle