Android Multiple Canvas.Drawline

时间:2012-05-18 14:41:04

标签: android

你好所有关于Stack溢出的第一篇帖子!!

我试图在画布上绘制多条线但使用不同的颜色。我的问题是线条颜色总是与数组中的最后一行相同。我正以30Hz的速度在屏幕上逐渐绘制垂直线,类似于没有任何间距的条形图。我在呼唤观点。用于运行和绘制线条的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,但我暂时试图避免使用它,除非有人能指出我正确的方向找一篇可能对我有帮助的好文章。

在某些时候,我想让这些线条成为多种颜色。

非常感谢任何帮助......

1 个答案:

答案 0 :(得分: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);
    }
}