toile Android dessine une ligne - rendre la ligne plus épaisse
-
26-10-2019 - |
Question
Cela semble que cela devrait être un peu trivial, mais dans mon application android, j'utilise la toile pour dessiner une série de lignes qui sont reliées entre elles. Pour une raison quelconque mes lignes sont très très léger et mince. Je me demandais comment puis-je faire mes lignes plus épaisses? Voici mon 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);
}
Une autre des lignes et des cercles de is..my chose que je dessine sont toujours noirs .. setColor () ne semble jamais avoir aucun effet. Je l'ai essayé d'utiliser les noms de couleurs (par exemple color.red) et même leurs valeurs hexagonales (par exemple 0xFFFF0000)
La solution
Essayez d'inclure cette ligne juste après decleare 'mypaint'
mypaint.setStyle(Paint.Style.STROKE);
Autres conseils
Modifier la valeur de
myPaint.setStrokeWidth(8);
à un plus grand nombre entier, par exemple:
myPaint.setStrokeWidth(50);
il fera la ligne plus épaisse
voir aussi Paint.setStrokeWidth (float)
Et si vous supprimez le ANTI_ALIAS_FLAG? En outre, vous devez déplacer le constructeur de la peinture en dehors de la boucle, de sorte qu'il ne soit pas recréée chaque itération.