【问题标题】:Highlighting Pie Chart Slice When Clicked in AChartEngine在 AChartEngine 中单击时突出显示饼图切片
【发布时间】:2012-06-20 12:58:32
【问题描述】:

我想在用户单击时突出显示(更改颜色)饼图特定切片。 我可以在示例(下面的代码)中找到可以显示切片索引和确切点的信息。但是重新着色切片呢?

mChartView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
          SeriesSelection seriesSelection = mChartView.getCurrentSeriesAndPoint();
          if (seriesSelection == null) {
            Toast
                .makeText(PieChartBuilder.this, "No chart element was clicked", Toast.LENGTH_SHORT)
                .show();
          } else {
            Toast.makeText(
                PieChartBuilder.this,
                "Chart element data point index " + seriesSelection.getPointIndex()
                    + " was clicked" + " point value=" + seriesSelection.getValue(),
                Toast.LENGTH_SHORT).show();
          }
        }
      });

【问题讨论】:

    标签: android achartengine


    【解决方案1】:

    这将做你需要的东西:

    mRenderer.getSeriesRendererAt(seriesSelection.getPointIndex()).setColor(color);
    mChartView.repaint();
    

    【讨论】:

    【解决方案2】:

    图表上的onClick代码:

    使用这个:

    mChartView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
              SeriesSelection seriesSelection = mChartView.getCurrentSeriesAndPoint();
              if (seriesSelection == null) {
                Toast.makeText(PieChartBuilder.this, "No chart element selected", Toast.LENGTH_SHORT)
                    .show();
              } else {
                for (int i = 0; i < mSeries.getItemCount(); i++) {
                  mRenderer.getSeriesRendererAt(i).setHighlighted(i == seriesSelection.getPointIndex());
                }
                mChartView.repaint();
                Toast.makeText(
                    PieChartBuilder.this,
                    "Chart data point index " + seriesSelection.getPointIndex() + " selected"
                        + " point value=" + seriesSelection.getValue(), Toast.LENGTH_SHORT).show();
              }
            }
          });
    

    【讨论】:

      【解决方案3】:

      您还需要确保图表是可点击的。我花了很长时间想知道为什么我不能让它工作。线

      mRenderer.setClickEnabled(true);
      

      应该包含

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-11
        相关资源
        最近更新 更多