GraphView如何在用户点击点附近显示Toast

时间:2014-09-10 12:52:33

标签: android android-graphview android-toast

您好我想问一下,如何在用户点击点附近显示Toast如下图所示,使用GraphView库:

http://android-graphview.org/

enter image description here

感谢您的任何建议

修改

我用

尝试了
seriesSin = new GraphViewSeries("Sinus curve", new GraphViewSeries.GraphViewSeriesStyle(Color.rgb(200, 50, 00), 3), data);

   // SET ON TOUCH
        graphView.setOnTouchListener(new View.OnTouchListener(){
            public boolean onTouch(View v, MotionEvent event) {
                if(event.getAction() == MotionEvent.ACTION_DOWN) {
                    int size = seriesSin.size();
                    float screenX = event.getX();
                    float screenY = event.getY();
                    float width_x = v.getWidth();
                    float viewX = screenX - v.getLeft();
                    float viewY = screenY - v.getTop();
                    float percent_x = (viewX/width_x);
                    int pos = (int) (size*percent_x);

                    System.out.println("X: " + viewX + " Y: " + viewY +" Percent = " +percent_x);
                    System.out.println("YVal = " +seriesSin.getY(pos));
                    return true;
                }
                return false;
            }

        });

但我不能得到seriesSin.size和seriesSin.getY(pos)

2 个答案:

答案 0 :(得分:0)

您无法决定在哪里展示Toast。但是,您可以设置自定义视图并使用检测到触摸时获得的坐标(x和y)显示它。当您显示视图时,只需使用这些值来设置视图的布局参数,然后瞧。

答案 1 :(得分:0)

4.0.0版添加了一个onTap() listener,它复制了上面的onTouch方法,它不能解决你的Toast定位问题,但可以为你节省几行代码。