如何手动绘制饼图?

时间:2010-12-20 09:39:20

标签: android

我需要手动绘制饼图。我需要一些基本的想法来做到这一点。任何人都可以帮助我吗?

4 个答案:

答案 0 :(得分:3)

      public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         DemoView demoView=new DemoView(getBaseContext());
         setContentView(demoView);
      }

     private class DemoView extends View{
       public DemoView(Context context){
        super(context);
       }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        RectF mBigOval = new RectF(40, 10, 280, 250);
        Paint p = new Paint();
        DashPathEffect dashPath = new DashPathEffect(new float[]{5,5}, (float)1.0);
        PathEffect path=new PathEffect();
        p.setPathEffect(path);
        p.setStyle(Style.FILL_AND_STROKE);
        p.setColor(android.graphics.Color.GREEN);
        canvas.drawArc(mBigOval, 0, 360, true, p);
        p.setColor(Color.RED);
        canvas.drawArc(mBigOval, 0, 240, true, p);


        invalidate();
    }
}

试试这段代码

答案 1 :(得分:0)

Here是Java中的一个示例(不适用于Android)。您可以使用Canvas而不是Graphics2D对象轻松地为Android移植它。例如,您可以使用drawArc

而不是fillArc

答案 2 :(得分:0)

创建您自己的自定义View课程并实施onDraw方法,使用ArcShape绘制图表。

然后,您可以将图表组件包含在布局中,就像使用其中一个内置组件一样。

答案 3 :(得分:0)

我已经创建了一个库来执行您要查找的内容(https://github.com/saulpower/ExpandablePieChart)。