1

我有画布!1.在画布上我画的是图表(见下文)!2.在它们之间画一个点和线。3.我计算的是一条线上的所有点,并在底部画一些小线。4.并用#e5fafd颜色绘制渐变!

private void drawGradient(Canvas canvas){
    Paint gradientPainter = new Paint();
    gradientPainter.setStrokeWidth(5);
    gradientPainter.setShader(new LinearGradient(0, 0, 0, getHeight(), getResources().getColor(R.color.graph_gradient_start), Color.TRANSPARENT, Shader.TileMode.CLAMP));

    for(int i = 0; i < ourCoords.size(); i++){
        if(i != ourCoords.size() - 1){
            final float x = ourCoords.get(i+1).getxCoord() - ourCoords.get(i).getxCoord();
            final float y = ourCoords.get(i+1).getyCoord() - ourCoords.get(i).getyCoord();
            float xT = ourCoords.get(i).getxCoord(), yT = ourCoords.get(i).getyCoord();
            final float percentX = (float) (x / 100.0);
            final float percentY = (float) (y / 100.0);
            for(float j= (float) 0.1; j<100.0; j++){
                float startX = (percentX * j) + xT;
                float startY = (percentY * j) + yT;
                float endX = startX;
                float endY = startY + 400;
                if(startX < (canvasWidth - marginLeft - 8)){
                    canvas.drawLine(startX, startY, endX, endY, gradientPainter);
                }
            }
        }
        drawPoints(canvas, ourCoords.get(i).getxCoord(), ourCoords.get(i).getyCoord(), 20);
    }
}

我最终得到了一个黑色渐变。请帮助我,并对错误感到抱歉。见屏幕http://mepic.ru/view/?id=b1904b5d5b6d156e83206ab0c485d40a

4

0 回答 0