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)

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top