您好我想问一下,如何在用户点击点附近显示Toast如下图所示,使用GraphView库:
感谢您的任何建议
修改
我用
尝试了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)
答案 0 :(得分:0)
您无法决定在哪里展示Toast
。但是,您可以设置自定义视图并使用检测到触摸时获得的坐标(x和y)显示它。当您显示视图时,只需使用这些值来设置视图的布局参数,然后瞧。
答案 1 :(得分:0)
4.0.0版添加了一个onTap() listener,它复制了上面的onTouch方法,它不能解决你的Toast定位问题,但可以为你节省几行代码。