AndroidPlot PieChart Touch事件

时间:2014-05-20 13:04:40

标签: androidplot

我想用SelectionWidget实现一个PieChart。点击AndroidPlot PieChart中的一个片段后,我希望选择小部件标签文本显示有关当前所选片段的信息。有一个例子可以在AndroidPlot演示中为XYPlot执行此操作,但它不能很好地转换为PieChart。任何帮助,将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

我刚刚发布了similar question here的解决方案。有必要向PieRenderer类添加一个新方法,但是有一个包含必要更改的Androidplot构建的链接。它不是一个生产版本,但无论它的价值如何,它至少与Androidplot的当前生产版本一样稳定。一旦你有了新版本,你就能做到这样的事情:

        // detect segment clicks:
        pie.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                PointF click = new PointF(motionEvent.getX(), motionEvent.getY());
                if(pie.getPieWidget().containsPoint(click)) {
                    Segment segment = pie.getRenderer(PieRenderer.class).getContainingSegment(click);
                    if(segment != null) {
                        // handle the segment click...for now, just print
                        // the clicked segment's title to the console:
                        System.out.println("Clicked Segment: " + segment.getTitle());
                    }
                }
                return false;
            }
        });

只需用您的代码替换 System.out.println(...)即可更新SelectionWidget。