Piechart使用aChartEngine api在android中单击选项

时间:2014-01-22 11:26:13

标签: android achartengine

我使用aChartEngine创建了饼图。现在我必须在该饼图中启用单击选项(在每个部门中)。

我该怎么做?我正在使用最新版的图表引擎api。

1 个答案:

答案 0 :(得分:4)

        final CategorySeries series = new CategorySeries("pie");
        for (int i = 0; i < Xaxes_value.size(); i++) {
            series.add(Xaxes_value.get(i) + "",
                        Long.parseLong(yaxes_value.get(i))); 

        }



        List<Integer> colors = new ArrayList<Integer>();
        int[] colorr = { Color.parseColor("#56ADDB"),
                Color.parseColor("#F59331"), Color.parseColor("#73C83C"),
                Color.parseColor("#948D8B"), Color.parseColor("#E54273"),
                Color.parseColor("#FFD34E"), Color.parseColor("#2A86D6"),
                Color.parseColor("#00BFC0"), Color.parseColor("#95AC5F"),
                Color.parseColor("#FF8497") };

        for (int i = 0; i < yaxes_value.size(); i++) {
            colors.add(colorr[i]);

        }
        renderer = new DefaultRenderer();
        for (int color = 0; color < colors.size(); color++) {
            SimpleSeriesRenderer r = new SimpleSeriesRenderer();
            r.setColor(colors.get(color));
            r.setDisplayBoundingPoints(false);
            // r.setDisplayChartValuesDistance(20);
            r.setDisplayChartValues(false);
            r.setChartValuesTextSize(18);
            r.setStroke(BasicStroke.SOLID);
            renderer.addSeriesRenderer(r);
        }
        // renderer.isInScroll();

        renderer.setZoomEnabled(false);
        renderer.setPanEnabled(false);
        renderer.setZoomButtonsVisible(false); // set zoom button in Graph
        renderer.setApplyBackgroundColor(false);
        renderer.setBackgroundColor(Color.WHITE); // set background color
        renderer.setChartTitle("Pie Chart");
        renderer.setLabelsColor(Color.BLACK);
         renderer.setMargins(new int[] { 20, 100, 20, 15 });
        renderer.setLabelsTextSize(20);
        renderer.setChartTitleTextSize((float) 30);
        renderer.setShowLabels(false);
        renderer.setLegendTextSize(25);
        renderer.setDisplayValues(true);
        renderer.setStartAngle(90);
        GraphicalView mChart = ChartFactory.getPieChartView(getApplicationContext(), series,
                renderer);

        layout_graph.addView(mChart);
        mChart.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                  SeriesSelection seriesSelection = mChart.getCurrentSeriesAndPoint();
                  if (seriesSelection == null) {
                    Toast
                        .makeText(getApplicationContext(), "No chart element was clicked",
                  Toast.LENGTH_SHORT)
                        .show();
                  } else {
                    Toast.makeText(
                        getApplicationContext(),
                        "Chart element data point index " + seriesSelection.getPointIndex()
                            + " was clicked" + " point value=" + seriesSelection.getValue(),
                        Toast.LENGTH_SHORT).show();
    Intent dashboardIntent = new Intent(context, Dashboard.class);
dashboardIntent.putExtra("value", ""+seriesSelection.getValue());
                    startActivity(dashboardIntent);
                  }
                }
              });
相关问题