0

こんにちはスタックオーバーフローのすべての最初の投稿!!

キャンバスに複数の線を描画しようとしていますが、異なる色を使用しています。私の問題は、線の色が配列の最後の行と常に同じであることです。間隔のない棒グラフのように、30 Hz で画面全体に縦線を徐々に描いています。ビューを呼び出しています。ビュー onDraw() の Invalidate() を実行して線を描画します。

    @Override
    protected void onDraw(Canvas canvas) {
        // TODO Auto-generated method stub
        super.onDraw(canvas);

        if (plotInfo == null)
            return;


        for (int i = 0; i < plotInfo.length; i++) {
            //paintlineinfo = String.valueOf( plotInfo[i].paintOfLine.getColor());
            canvas.drawLine(i, mDisplay.getHeight(), i, mDisplay.getHeight()-plotInfo[i].linePositionY, plotInfo[i].paintOfLine);
        }
    }

私は Open GL を使用する可能性があると信じていますが、誰かが私を助ける良い記事の正しい方向に私を向けることができない限り、私は今のところそれを避けようとしています.

ある時点で、線を複数の色にしたいと思います。

どんな助けでも大歓迎です...

4

1 に答える 1

0

そこから色がわからないので、試してみてください:

@Override
protected void onDraw(Canvas canvas) 
{
    // TODO Auto-generated method stub
    super.onDraw(canvas);

    if (plotInfo == null)
        return;

    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);             

    for (int i = 0; i < plotInfo.length; i++) {
        paint.setColor( yourArrayOfColours.get(i) );
        canvas.drawLine(i, mDisplay.getHeight(), i, mDisplay.getHeight()-plotInfo[i].linePositionY, paint);
    }
}
于 2012-05-18T14:48:16.923 に答える