Domanda

Questo sembra che dovrebbe essere un po 'banale, ma nella mia app Android, sto usando di lavoro per disegnare una serie di linee che sono collegati insieme. Per qualche ragione le mie linee sono molto molto deboli e sottili. Mi chiedevo come posso fare le mie linee più spesse? Qui è il mio codice ..

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

    }

Un'altra linee is..my cosa e cerchi che disegnano sono sempre di colore nero .. setColor () non sembra avere alcun effetto. Ho provato con i nomi dei colori (per esempio color.red) e anche i loro valori esadecimali (per esempio 0xFFFF0000)

È stato utile?

Soluzione

Prova Tra cui questa linea subito dopo aver decleare 'MyPaint'

 mypaint.setStyle(Paint.Style.STROKE); 

Altri suggerimenti

Cambia il valore di

myPaint.setStrokeWidth(8);

per un intero più grande, per esempio:

myPaint.setStrokeWidth(50);

farà la linea più spessa

Paint.setStrokeWidth (float)

Che cosa succede se si rimuove l'ANTI_ALIAS_FLAG? Inoltre, si dovrebbe spostare il costruttore della vernice al di fuori del ciclo, in modo che non venga ricreato ogni iterazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top