Android Canvas Zeichnungslinie - die Linie dicker machen
-
26-10-2019 - |
Frage
Dies scheint etwas trivial zu sein, aber in meiner Android -App verwende ich Canvas, um eine Reihe von Linien zu zeichnen, die miteinander verbunden sind. Aus irgendeinem Grund sind meine Linien sehr sehr schwach und dünn. Ich habe mich gefragt, wie ich meine Linien dicker machen kann. Hier ist mein Code ..
for(int i=1; i<myArrayListOfValues.size(); i++){
Paint myPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
myPaint.setStrokeWidth(8/*1 /getResources().getDisplayMetrics().density*/);
myPaint.setColor(0xffff0000); //color.RED
canvas.drawLine(myArrayListOfValues.get(i), myArrayListOfValues.get(i), myArrayListOfValues.get(i-1), myArrayListOfValues.get(i-1), myPaint);
}
Eine andere Sache ist ... meine Linien und Kreise, die ich zeichne, sind immer schwarz. SetColor () scheint niemals einen Effekt zu haben. Ich habe versucht, die Farbnamen (z. B. Farbe.RED) und sogar deren Hex -Werte (z. B. 0xffff0000) zu verwenden.
Lösung
Versuchen Sie, diese Zeile kurz nachdem Sie "MyPaint" deklariert haben
mypaint.setStyle(Paint.Style.STROKE);
Andere Tipps
Ändern den Wert von
myPaint.setStrokeWidth(8);
Zum Beispiel zu einer größeren Ganzzahl:
myPaint.setStrokeWidth(50);
Es wird die Linie dicker machen
siehe auch Paint.SetStrokewidth (Float)
Was passiert, wenn Sie die Anti_Alias_flag entfernen? Außerdem sollten Sie den Farbkonstruktor außerhalb der für die für die Loop bewegene Schleife bewegen, sodass nicht jede Iteration nachgebildet wird.