解决方案 »

  1.   

    用canvase画路径,就是drawPath这个方法貌似可以实现你说的效果,详细的你再百度吧
      

  2.   

    http://d.apkbus.com/android/category/chart
      

  3.   

    drawPath画出来不是平滑的,确实需要用贝塞尔曲线
      

  4.   

    楼主在不?你可以试试Path  path 里面moveTo 和 quadTo .
    给你个链接吧
    http://stackoverflow.com/questions/9993030/bezier-curve-and-canvas
      

  5.   

    学习中,谢我刚才试了可以
    这是demo里面我设置的点形成的贝塞尔线
      

  6.   

    学习中,谢我刚才试了可以
    这是demo里面我设置的点形成的贝塞尔线
    你用了几个点?
      

  7.   


    我画三个点 吧下面的代码放在onDraw 函数中

    final Path path = new Path();
    path.moveTo(0, 100); final float x2 = (200 + 100) / 2;
    final float y2 = ( 200 + 100) / 10;
            path.quadTo(x2, y2, 500, 500);
     final float x3 =   220 ;
     final float y3 =  23 ;
      path.quadTo(x3, y3, 20, 800);
    canvas.drawPath(path, paint);
    }

    Paint paint = new Paint() {
        {
            setStyle(Paint.Style.STROKE);
            setStrokeCap(Paint.Cap.ROUND);
            setStrokeWidth(3.0f);
            setAntiAlias(true);
        }
    };
      

  8.   

    这个问题我也遇到过,
    请参考这个实现URL
      

  9.   

    我有一款软件有实习这个功能,http://zhushou.360.cn/detail/index/soft_id/900915  用的是开源的achartengine 非常好用
      

  10.   

    如@u013773757所说,取点A、B中点C,然后分别画AC、CB,用贝塞尔曲线,二阶即可,选控制点的时候,注意下坐标。问题解决。