Android achartEngine how to highlight particular chart element

旧巷老猫 提交于 2019-12-22 10:06:46

问题


Hi i am using achartengine's pie-chart to represent my actual sales, now as my app starts one of the chart element in the piechart should get highlighted, like when we do the onclick on pie chart.

Below is the code for my piechart

final DefaultRenderer renderer = buildCategoryRenderer(colors);
       renderer.setPanEnabled(false);// Disable User Interaction
       renderer.setLabelsColor(Color.BLACK);
       renderer.setShowLegend(true);
       renderer.setLegendTextSize(20);
       renderer.setInScroll(true);
       renderer.setStartAngle(180);

     renderer.setChartTitle("Sales By Market Segment- Month");
       renderer.setLabelsTextSize(22);
      final CategorySeries categorySeries = new CategorySeries("Sales");
       categorySeries.add("Craft1",  cursor.getInt(1));
             categorySeries.add("product1", cursor.getInt(2) );
              categorySeries.add("product2",  cursor.getInt(3) );
              categorySeries.add("product",  cursor.getInt(4));
              categorySeries.add("product1", cursor.getInt(5));

      mChartView2=ChartFactory.getPieChartView(context, categorySeries,renderer);
      parent.addView(mChartView2);
      renderer.setClickEnabled(true);
      mChartView2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              SeriesSelection seriesSelection = mChartView2.getCurrentSeriesAndPoint();
              if (seriesSelection == null) {
                Toast.makeText(getActivity(), "No chart element selected", Toast.LENGTH_SHORT)
                    .show();
              }else {
                  for (int i = 0; i < categorySeries.getItemCount(); i++) {
                      renderer.getSeriesRendererAt(i).setHighlighted(i == seriesSelection.getPointIndex());
                    }
                  mChartView2.repaint();
                    Toast.makeText(
                        getActivity(),
                        "Chart data point index " + seriesSelection.getPointIndex() + " selected"
                            + " point value=" + seriesSelection.getValue(), Toast.LENGTH_SHORT).show();
                  }
                }
              });
      return ChartFactory.getPieChartIntent(context, categorySeries, renderer,null);
     }
     protected DefaultRenderer buildCategoryRenderer(int[] colors) {
      DefaultRenderer renderer = new DefaultRenderer();
      for (int color : colors) {
      SimpleSeriesRenderer r = new SimpleSeriesRenderer();
      r.setColor(color);
      renderer.addSeriesRenderer(r);

      }
      return renderer;
      }

products are getting highlighted when clicking but I want to highlight one product, when app starts.


回答1:


Found the solution:

 mChartView2=ChartFactory.getPieChartView(context, categorySeries,renderer);
      parent.addView(mChartView2);
      renderer.getSeriesRendererAt(0).setHighlighted(true);
      mChartView2.repaint();


来源:https://stackoverflow.com/questions/19043106/android-achartengine-how-to-highlight-particular-chart-element

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!