Línea de dibujo de lienzo de Android: haga que la línea sea más gruesa
-
26-10-2019 - |
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)
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.