2014-01-22 2 views
1

나는 aChartEngine을 사용하여 원형 차트를 만들었습니다. 이제 각 원형 차트에서 클릭 옵션을 활성화해야합니다.원형 차트 aChartEngine API를 사용하여 안드로이드의 옵션을 클릭하십시오

어떻게 할 수 있습니까? 차트 엔진 API의 최신 버전을 사용하고 있습니다.

+0

확인 유래에서이 답 : http://stackoverflow.com/questions/11120125/highlighting-pie-chart-slice-when-clicked-in-achartengine – alecnash

+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); 
        } 
       } 
       }); 
+0

당신에게 –

+0

너무 감사합니다 감사합니다 u가 이것을 만족한다면 나에게 점수를 준다. – DaxeshKhatri

+0

하지만이 원형 차트를 클릭하면 어떻게 다음 페이지로 이동할 수 있습니까? 이 페이지에 의도를 어떻게 언급합니까? 조각이 아닌 코드에서이 코드를 사용하고 있습니다. –