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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top