Pregunta

Parece que debería ser algo trivial, sin embargo, en mi aplicación de Android, estoy usando lienzo para dibujar una serie de líneas que están conectadas. Por alguna razón, mis líneas son muy débiles y delgadas. Me preguntaba cómo puedo hacer que mis líneas sean más gruesas. Aquí está mi código ..

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);       

    }

Otra cosa es ... mis líneas y círculos que dibujo siempre son negros ... SetColor () nunca parece tener ningún efecto. He intentado usar los nombres de color (por ejemplo, color. Red) e incluso sus valores hexadecimales (por ejemplo, 0xffff0000)

¿Fue útil?

Solución

Intenta incluir esta línea justo después de que digas 'myPaint'

 mypaint.setStyle(Paint.Style.STROKE); 

Otros consejos

Cambiar el valor de

myPaint.setStrokeWidth(8);

a un entero más grande, por ejemplo:

myPaint.setStrokeWidth(50);

Hará que la línea sea más gruesa

ver también Pintura. SetstrokeWidth (flotador)

¿Qué sucede si elimina el anti_alias_flag? Además, debe mover el constructor de pintura fuera del bucle for, para que no se recree en todas las iteraciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top